103

为了调试 CUDA 代码和检查兼容性,我需要找出我安装的 GPU 的 nvidia 驱动程序版本。我发现如何获得 cuda 版本?但这对我没有帮助。

4

8 回答 8

147

使用nvidia-smi应该告诉你:

bwood@mybox:~$ nvidia-smi 
Mon Oct 29 12:30:02 2012       
+------------------------------------------------------+                       
| NVIDIA-SMI 3.295.41   Driver Version: 295.41         |                       
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan   Temp   Power Usage /Cap | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce GTX 580           | 0000:25:00.0  N/A    |       N/A        N/A |
|  54%   70 C  N/A   N/A /  N/A |  25%  383MB / 1535MB |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                               GPU Memory |
|  GPU  PID     Process name                                       Usage      |
|=============================================================================|
|  0.           Not Supported                                                 |
+-----------------------------------------------------------------------------+
于 2012-10-29T16:32:16.380 回答
108

任何安装了 NVIDIA 驱动程序并加载到内核中的 linux 系统上,您可以执行:

cat /proc/driver/nvidia/version

获取当前加载的 NVIDIA 内核模块的版本,例如:

$ cat /proc/driver/nvidia/version 
NVRM version: NVIDIA UNIX x86_64 Kernel Module  304.54  Sat Sep 29 00:05:49 PDT 2012
GCC version:  gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) 
于 2012-10-29T18:41:33.457 回答
15

modinfo成功了。

root@nyx:/usr/src# modinfo nvidia|grep version:
version:        331.113
于 2015-03-29T11:35:06.227 回答
12

视窗版本:

cd \Program Files\NVIDIA Corporation\NVSMI

英伟达-smi

于 2017-06-17T05:43:40.743 回答
7

[注意:我不是故意删除我的答案,所以人们知道如何不这样做]

如果您使用:

me@over_there:~$  dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06

您将通过您的发行版的打包机制获得安装的 nVIDIA 驱动程序包的版本。但这可能不是现在作为内核的一部分实际运行的版本。

于 2012-10-29T16:27:38.503 回答
4

为了扩展 ccc 的答案,如果您想将查询卡与脚本结合起来,以下是 Nvidia 网站上有关如何执行此操作的信息:

https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries

另外,我发现这个线程正在研究 powershell。下面是一个示例命令,它运行实用程序以获取 GPU 上可用的真实内存以帮助您入门。

# get gpu metrics
$cmd = "& 'C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi' --query-gpu=name,utilization.memory,driver_version --format=csv"
$gpuinfo = invoke-expression $cmd | ConvertFrom-CSV
$gpuname = $gpuinfo.name
$gpuutil = $gpuinfo.'utilization.memory [%]'.Split(' ')[0]
$gpuDriver = $gpuinfo.driver_version
于 2018-09-18T18:01:10.353 回答
4
nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0

将结果作为不需要进一步解析的字符串返回,例如:470.82.00

如果由于某种原因 nvidia-smi 不可用,可以通过调用驱动程序 API 来获取信息。可以使用 Python ctypes 库加载驱动程序库。

对于 CUDA,请参阅: https ://gist.github.com/f0k/63a664160d016a491b2cbea15913d549

有关驱动程序信息,请参阅: https ://github.com/mars-project/mars/blob/a50689cda4376d82a40b7aa9833f572299db7efd/mars/lib/nvutils.py

于 2021-12-23T00:23:23.297 回答
0

如果您需要在 Linux 系统上的 Python 程序中获取该程序以实现可重复性:

with open('/proc/driver/nvidia/version') as f:
    version = f.read().strip()
print(version)

给出:

NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.90  Tue Sep 19 19:17:35 PDT 2017
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 
于 2017-12-12T20:46:31.030 回答