Pour déboguer le code CUDA et vérifier les compatibilités, j'ai besoin de savoir quelle version du pilote nvidia pour le GPU que j'ai installé. J'ai trouvé Comment obtenir la version cuda? mais cela ne m'aide pas ici.
Pour déboguer le code CUDA et vérifier les compatibilités, j'ai besoin de savoir quelle version du pilote nvidia pour le GPU que j'ai installé. J'ai trouvé Comment obtenir la version cuda? mais cela ne m'aide pas ici.
Réponses:
L'utilisation nvidia-smi
devrait vous dire que:
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
comme ceci:locate nvidia-smi
lspci
. Par exemple: stackoverflow.com/questions/10310250/…
Sur n'importe quel système Linux avec le pilote NVIDIA installé et chargé dans le noyau, vous pouvez exécuter:
cat /proc/driver/nvidia/version
pour obtenir la version du module de noyau NVIDIA actuellement chargé, par exemple:
$ 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
est:Failed to initialize NVML: GPU access blocked by the operating system
Failed to initialize NVML: Driver/library version mismatch
partir de nvidia-smi
.
modinfo
fait l'affaire.
root@nyx:/usr/src# modinfo nvidia|grep version:
version: 331.113
nvidia_XXX
correspondant à la série de pilotes majeurs que j'avais installés, et comme modinfo
ne prend pas en charge les caractères génériques ou les correspondances de nom partielles, j'ai dû le faire, ce modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:
qui renvoie la version correcte des pilotes majeurs et mineurs.
modinfo
a une --field
option de ligne de commande. Ainsi , vous pouvez sauter le grep: modinfo nvidia --field version
. De plus, dans ubuntu 16.04, cela ne semble pas fonctionner. Je reçois toujours ERROR: Module nvidia not found
.
[REMARQUE: je ne supprime pas ma réponse exprès, donc les gens voient comment ne pas le faire]
Si tu utilises:
me@over_there:~$ dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06
vous obtiendrez la version du package de pilotes nVIDIA installée via le mécanisme de packaging de votre distribution. Mais ce n'est peut- être pas la version qui fonctionne actuellement dans le cadre de votre noyau.
Pour développer la réponse de ccc, si vous souhaitez intégrer l'interrogation de la carte avec un script, voici des informations sur le site Nvidia sur la façon de procéder:
https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries
De plus, j'ai trouvé ce fil de recherche sur PowerShell. Voici un exemple de commande qui exécute l'utilitaire pour obtenir la vraie mémoire disponible sur le GPU pour vous aider à démarrer.
# 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
Si vous devez obtenir cela dans un programme avec Python sur un système Linux pour la reproductibilité:
with open('/proc/driver/nvidia/version') as f:
version = f.read().strip()
print(version)
donne:
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)