CUDA 코드를 디버깅하고 호환성을 확인하려면 내가 설치 한 GPU 용 nvidia 드라이버 버전을 찾아야합니다. cuda 버전을 얻는 방법을 찾았습니다 . 그러나 그것은 여기서 도움이되지 않습니다.
CUDA 코드를 디버깅하고 호환성을 확인하려면 내가 설치 한 GPU 용 nvidia 드라이버 버전을 찾아야합니다. 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/…
에 모든 설치 및 커널에로드 된 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
. 또한 우분투 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
또한이 스레드가 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
재현성을 위해 Linux 시스템에서 Python을 사용하는 프로그램에서 가져와야하는 경우 :
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 : Max-Q 디자인이 적용된 GeForce GTX 1660 Ti (UUID : GPU-64ff7c28-7905-a240-e063-91caf97ab792)