Для налагодження коду CUDA та перевірки сумісності мені потрібно з’ясувати, яку версію драйвера nvidia для встановленого GPU я встановив. Я знайшов Як отримати версію cuda? але це мені тут не допомагає.
Для налагодження коду CUDA та перевірки сумісності мені потрібно з’ясувати, яку версію драйвера nvidia для встановленого GPU я встановив. Я знайшов Як отримати версію cuda? але це мені тут не допомагає.
Відповіді:
Використання 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 |
+-----------------------------------------------------------------------------+
nvidia-smi
так:locate nvidia-smi
lspci
. Наприклад: stackoverflow.com/questions/10310250/…
У будь-якій системі 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)
nvidia-smi
:Failed to initialize NVML: GPU access blocked by the operating system
Failed to initialize NVML: Driver/library version mismatch
з nvidia-smi
.
modinfo
робить трюк.
root@nyx:/usr/src# modinfo nvidia|grep version:
version: 331.113
nvidia_XXX
відповідним основній серії драйверів, яку я встановив, і оскільки modinfo
не підтримує подстановочні символи або часткові збіги імен, мені довелося це зробити, modinfo $(find /lib/modules/$(uname -r) -iname nvidia_*.ko | head -1) | grep ^version:
що повертає правильну основну та другорядну версію драйвера.
modinfo
має --field
опцію командного рядка. Таким чином , ви можете пропустити Grep: modinfo nvidia --field version
. Крім того, в ubuntu 16.04 це, здається, не працює. Я завжди отримую ERROR: Module nvidia not found
.
[ПРИМІТКА: Я не видаляю відповідь навмисно, тому люди бачать, як цього не робити]
Якщо ви використовуєте:
me@over_there:~$ dpkg --status nvidia-current | grep Version | cut -f 1 -d '-' | sed 's/[^.,0-9]//g'
260.19.06
ви отримаєте версію пакета драйверів nVIDIA, встановленого через механізм упаковки вашого дистрибутива. Але це може бути не версія, яка фактично працює зараз як частина вашого ядра.
Щоб розширити відповідь на ccc, якщо ви хочете включити запит на карту зі скриптом, ось на сайті Nvidia інформація про те, як це зробити:
https://nvidia.custhelp.com/app/answers/detail/a_id/3751/~/useful-nvidia-smi-queries
Крім того, я знайшов цю тему, що досліджує повноваження. Ось приклад команди, яка запускає утиліту, щоб отримати справжню пам'ять, доступну в графічному процесорі, для початку роботи.
# 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)
Ви можете просто скористатися командою: nvidia-smi -L
Вибірка зразка : GPU 0: GeForce GTX 1660 Ti з Max-Q дизайном (UUID: GPU-64ff7c28-7905-a240-e063-91caf97ab792)