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

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

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, установленную через механизм упаковки вашего дистрибутива. Но это!--2-->не может быть версией, которая фактически работает как часть вашего ядра прямо сейчас.


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)