如何在 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-40GB
,Tesla V100S-PCIE-32GB
,GeForce 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/