Zum Debuggen von CUDA-Code und zum Überprüfen der Kompatibilität muss ich herausfinden, welche nvidia-Treiberversion für die GPU installiert ist. Ich habe gefunden Wie bekomme ich die Cuda-Version? aber das hilft mir hier nicht.
Wenn Sie nvidia-smi
verwenden, sollten Sie Folgendes erfahren:
[email protected]:~$ 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 |
+-----------------------------------------------------------------------------+
Auf einem any Linux-System, auf dem der NVIDIA-Treiber installiert und in den Kernel geladen ist, können Sie Folgendes ausführen:
cat /proc/driver/nvidia/version
um die Version des aktuell geladenen NVIDIA-Kernelmoduls abzurufen, zum Beispiel:
$ 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
macht den Trick.
[email protected]:/usr/src# modinfo nvidia|grep version:
version: 331.113
[HINWEIS: Ich lösche meine Antwort nicht absichtlich, sodass die Leute sehen, wie sie es nicht tun sollen]
Wenn du benutzt:
[email protected]_there:~$ dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06
sie erhalten die Version des nVIDIA-Treiberpakets über den Paketierungsmechanismus Ihrer Distribution. Aber dies möglicherweise nicht ist die Version, die gerade als Teil Ihres Kernels ausgeführt wird.
Windows-Version:
cd\Programme\NVIDIA Corporation\NVSMI
nvidia-smi
Wenn Sie die Antwort von ccc erweitern möchten, wenn Sie die Abfrage der Karte in ein Skript integrieren möchten, finden Sie hier Informationen auf der Nvidia-Site:
https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries
Ich fand auch diesen Thread, der Powershell erforscht. Hier ein Beispielbefehl, mit dem das Dienstprogramm ausgeführt wird, um den richtigen Arbeitsspeicher für die GPU zur Verfügung zu stellen.
# 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
Wenn Sie dies in einem Programm mit Python auf einem Linux-System zur Reproduzierbarkeit benötigen:
with open('/proc/driver/nvidia/version') as f:
version = f.read().strip()
print(version)
gibt:
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)