当前位置: 首页 > news >正文

如何在 Linux 服务器上查看 GPU 型号与 CUDA 版本?

对于从事深度学习、人工智能或高性能计算的朋友来说,Linux 服务器是标准的工作环境。清楚了解服务器的硬件配置,特别是 GPU 型号和 CUDA 驱动版本,是进行环境配置、软件开发和故障排查的第一步。本文将详细介绍几种简单有效的方法来获取这些关键信息。

一、查看 NVIDIA GPU 型号信息

首先,我们需要确认服务器中是否安装了 NVIDIA GPU 以及其具体型号。最直接的工具是 NVIDIA 官方提供的 nvidia-smi(NVIDIA System Management Interface)。

1. 使用 nvidia-smi 命令

打开终端,直接输入以下命令:

nvidia-smi

这个命令会输出一个详细的监控界面,通常称为“监控页签”(Watchdog)。

  • GPU 型号:在输出表格的顶部,Name 一列直接显示了 GPU 的型号,例如 NVIDIA A100-PCIE-40GBTesla V100S-PCIE-32GBGeForce RTX 3090 等。

  • 其他信息:同时,你还可以看到 GPU 的利用率(Volatile GPU-Util)、显存使用情况(Memory-Usage)、温度、当前运行的进程等非常有用的信息。

示例输出:

Mon Jul 1 10:00:00 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A100-PCIE...  On  | 00000000:01:00.0 Off |                    0 |
| N/A   35C    P0    35W / 250W |      0MiB / 40960MiB |      0%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+

在这个例子中,GPU 型号是 NVIDIA A100-PCIE-40GB

2. 使用 lspci 命令

如果系统没有安装 NVIDIA 驱动,nvidia-smi 将无法工作。此时,可以使用 Linux 系统的 lspci 命令来查看所有 PCI 设备。

lspci | grep -i nvidia

这个命令会列出所有与 “NVIDIA” 相关的 PCI 设备。输出会显示一长串设备 ID,你可以通过搜索这个 ID 来确定具体的 GPU 型号。

示例输出:

01:00.0 3D controller: NVIDIA Corporation Device 20f1 (rev a1)

这里的 20f1 是设备标识符。你可以将其复制到 PCI ID 数据库网站 进行查询,或者使用更详细的命令:

lspci -v -s <PCI设备号>  # 例如: lspci -v -s 01:00.0

二、查看 CUDA 版本信息

“CUDA 版本”可能指两个东西:NVIDIA 驱动程序内置的 CUDA 运行时版本系统实际安装的 CUDA 工具包版本。通常我们更关心后者。

1. 查看驱动支持的 CUDA 版本(运行时版本)

再次使用 nvidia-smi 命令。在输出的右上角,有一行明确标注了 CUDA Version

| NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |

请注意:这里显示的 11.7 是指此 NVIDIA 驱动程序最高可支持的 CUDA 运行时版本。这意味着你可以运行基于 CUDA 11.7 及以下版本编译的应用程序,但它并不代表你的系统上一定安装了 CUDA 11.7 的工具包。

2. 查看已安装的 CUDA 工具包版本

如果你通过官方方式安装了 CUDA Toolkit,可以通过以下方法检查其版本。

方法 A:使用 nvcc(NVIDIA CUDA Compiler)
nvcc 是 CUDA 工具包中的编译器。如果它已正确安装并添加到环境变量 PATH 中,可以直接运行:

nvcc --version

示例输出:

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Feb_14_21:12:58_PST_2021
Cuda compilation tools, release 11.2, V11.2.152
Build 11.2.152

这里明确显示了已安装的 CUDA 工具包版本是 11.2

方法 B:检查 CUDA 安装路径
CUDA 工具包通常安装在 /usr/local/ 目录下。你可以查看该目录来确认安装了哪些版本。

ls /usr/local/ | grep cuda

常见的输出可能是:

cuda
cuda-11.2

这里的 cuda 通常是一个指向默认版本(如 cuda-11.2)的符号链接。文件夹名称直接包含了版本号。

方法 C:查看 cuda_version.h 头文件(不常用)
开发者也可以通过查询头文件来确认:

cat /usr/local/cuda/version.txt  # 旧版本
# 或
cat /usr/local/cuda/version.json # 新版本

三、注意事项

更直观地将所有命令总结如下:

你想查看的信息使用的命令备注
GPU 型号nvidia-smi最直接,需先安装驱动
lspci | grep -i nvidia无需驱动,可查看所有NVIDIA PCI设备
驱动支持的CUDA最高版本nvidia-smi看输出右上角的 CUDA Version
已安装的CUDA工具包版本nvcc --version最准确,需已安装CUDA Toolkit
ls /usr/local/ | grep cuda通过安装目录查看

重要注意事项:

  • 兼容性:你需要确保已安装的 CUDA 工具包版本不超过 nvidia-smi 中显示的驱动支持的 CUDA 版本。例如,驱动支持 11.7,那么你可以安装 11.7、11.6 等工具包,但不能安装 11.8 或 12.0,否则程序将无法运行。

  • 命令未找到:如果遇到 nvidia-smi: command not found 或 nvcc: command not found,通常意味着:

    • nvidia-smi 未找到:NVIDIA 显卡驱动未安装或安装不正确。

    • nvcc 未找到:CUDA Toolkit 未安装,或者其路径未添加到系统的 PATH 环境变量中。你可以尝试使用绝对路径 /usr/local/cuda/bin/nvcc --version

算力租赁入口:https://www.jygpu.com/https://www.jygpu.com/

http://www.dtcms.com/a/390776.html

相关文章:

  • LeetCode hot 100 解题思路记录(三)
  • 小程序移动端设计UI(二)酒店自助入住小程序—东方仙盟练气期
  • 解决pnpm中的 Pinia 版本冲突:Cannot read properties of undefined (reading ‘_s‘)
  • 说一说大模型后训练的流程
  • 【微实验】激光测径系列(三)
  • Vim 使用从入门到精通
  • 快速实现 Excel 表格转 SVG:Java 教程
  • [极客大挑战 2019]LoveSQL
  • Excel和WPS表格中选中全部空单元格并输入相同内容
  • 日志易制造业安全UEBA解决方案
  • Java 将 HTML 转换为 Excel:实用指南
  • MySQL索引篇---数据结构的选择
  • 【STM32 CubeMX + Keil】 中断、NVIC 、EXTI
  • BIGO一面面试总结
  • Ansible-fetch模块
  • DevExpress WPF中文教程:DataGrid - 服务器数据和大型数据源
  • Vue项目不同页面显示不同的title
  • NW820NW825美光固态闪存NW829NW832
  • aosp13/14/15/16如何实现窗口局部区域高斯模糊毛玻璃效果及Winscope原生重大bug发现
  • Java微服务架构设计模式精解
  • 设计模式面试之单例模式常问知识点
  • 深入解析 MySQL 元数据锁 (MDL) 与 SHOW PROCESSLIST 实战
  • 能不能写一个可以在linux使用的类nano编辑器
  • Rocky10 使用kubeadm部署K8s v1.34 一主两从
  • 深入理解Buffer:数据世界的“蓄水池“
  • 通义万相开源 Wan2.2-S2V-14B,实现图片+音频生成电影级数字人视频
  • windows c++环境 使用VScdoe配置opencv
  • JVM(四)-- 对象的实例化内存布局和直接内存
  • G1垃圾回收器的优势
  • 内存分配策略