Per il debug del codice CUDA e il controllo delle compatibilità, ho bisogno di scoprire quale versione del driver nvidia per la GPU ho installato. Ho scoperto come ottenere la versione cuda? ma questo non mi aiuta qui.
Per il debug del codice CUDA e il controllo delle compatibilità, ho bisogno di scoprire quale versione del driver nvidia per la GPU ho installato. Ho scoperto come ottenere la versione cuda? ma questo non mi aiuta qui.
Risposte:
L'utilizzo nvidia-smi
dovrebbe dirti che:
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
modo:locate nvidia-smi
lspci
. Ad esempio: stackoverflow.com/questions/10310250/…
Su qualsiasi sistema Linux con il driver NVIDIA installato e caricato nel kernel, puoi eseguire:
cat /proc/driver/nvidia/version
per ottenere la versione del modulo kernel NVIDIA attualmente caricato, ad esempio:
$ 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
da nvidia-smi
.
modinfo
fa il trucco.
root@nyx:/usr/src# modinfo nvidia|grep version:
version: 331.113
nvidia_XXX
corrispondeva alla serie di driver principali che avevo installato e poiché modinfo
non supporta i caratteri jolly o le corrispondenze di nomi parziali, ho dovuto farlo per modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:
restituire la versione del driver principale e secondaria corretta.
modinfo
ha --field
un'opzione della riga di comando. Così si può saltare il grep: modinfo nvidia --field version
. Inoltre, in Ubuntu 16.04 questo non sembra funzionare. Ottengo sempre ERROR: Module nvidia not found
.
[NOTA: non sto cancellando la mia risposta di proposito, quindi le persone vedono come non farlo]
Se utilizzi:
me@over_there:~$ dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06
otterrai la versione del pacchetto del driver nVIDIA installato tramite il meccanismo di pacchettizzazione della tua distribuzione. Ma questa potrebbe non essere la versione attualmente in esecuzione come parte del kernel in questo momento.
Per espandere la risposta di ccc, se vuoi incorporare l'interrogazione della scheda con uno script, ecco le informazioni sul sito di Nvidia su come farlo:
https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries
Inoltre, ho trovato questo thread che cercava powershell. Ecco un comando di esempio che esegue l'utilità per ottenere la vera memoria disponibile sulla GPU per iniziare.
# 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
Se è necessario ottenerlo in un programma con Python su un sistema Linux per la riproducibilità:
with open('/proc/driver/nvidia/version') as f:
version = f.read().strip()
print(version)
dà:
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)