Как получить версию драйвера Nvidia из командной строки?


для отладки кода CUDA и проверки совместимости мне нужно узнать, какую версию драйвера nvidia для GPU я установил. Я нашел, как получить версию cuda? но это не помогает мне здесь.

7 82

7 ответов:

используя 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                                                 |
+-----------------------------------------------------------------------------+

On любой система linux с установленным и загруженным в ядро драйвером NVIDIA, вы можете выполнить:

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) 

modinfo делает трюк.

root@nyx:/usr/src# modinfo nvidia|grep version:
version:        331.113

[примечание: Я не удаляю свой ответ нарочно, поэтому люди видят, как этого не делать]

Если вы используете:

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

вы получите версию пакета драйверов nVIDIA, установленного через механизм упаковки вашего дистрибутива. Но это не может быть версия, что на самом деле работает как часть вашего ядра прямо сейчас.

версия для Windows:

cd \Program Files\NVIDIA Corporation\NVSMI

nvidia-smi

чтобы расширить ответ 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

Если вам нужно получить это в программе С Python на системе Linux для воспроизводимости:

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)