为了调试CUDA代码并检查兼容性,我需要找出我已安装的GPU的nvidia驱动程序版本。我找到了如何获取cuda版本?但这对我没有帮助。
为了调试CUDA代码并检查兼容性,我需要找出我已安装的GPU的nvidia驱动程序版本。我找到了如何获取cuda版本?但这对我没有帮助。
Answers:
使用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 |
+-----------------------------------------------------------------------------+
nvidia-smi
:locate nvidia-smi
lspci
。例如:stackoverflow.com/questions/10310250/…–
在任何安装了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)
nvidia-smi
:Failed to initialize NVML: GPU access blocked by the operating system
Failed to initialize NVML: Driver/library version mismatch
从获得输出时也很有用nvidia-smi
。
modinfo
绝招。
root@nyx:/usr/src# modinfo nvidia|grep version:
version: 331.113
nvidia_XXX
与我安装的主要驱动程序系列相对应,并且由于modinfo
不支持通配符或部分名称匹配,因此我必须这样做modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:
,以返回正确的主要和次要驱动程序版本。
modinfo
具有--field
命令行选项。所以,你可以跳过grep的:modinfo nvidia --field version
。另外,在Ubuntu 16.04中,这似乎不起作用。我总是得到ERROR: Module nvidia not found
。
[注意:我不是故意删除我的答案,所以人们看到了不这样做的方法]
如果您使用:
me@over_there:~$ dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06
您将通过发行版的打包机制获得nVIDIA驱动程序软件包的版本。但这可能不是当前作为内核一部分实际运行的版本。
要扩展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