CUDAコードをデバッグし、互換性を確認するには、インストールしたGPU用のnvidiaドライバーのバージョンを確認する必要があります。cudaバージョンを入手する方法を見つけましたか?しかし、それはここでは役に立ちません。
8 に答える
を使用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ドライバーがインストールされ、カーネルにロードされているLinuxシステムでは、次のコマンドを実行できます。
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)
modinfo
トリックを行います。
root@nyx:/usr/src# modinfo nvidia|grep version:
version: 331.113
Windows版:
cd \ Program Files \ NVIDIA Corporation \ NVSMI
nvidia-smi
[注:私はわざと答えを削除しているわけではないので、人々はそれをしない方法を理解しています]
使用する場合:
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
nvidia-smi --query-gpu=driver_version --format=csv,noheader --id=0
次のようにさらに解析する必要のない文字列として結果を返します:470.82.00
何らかの理由でnvidia-smiが利用できない場合は、ドライバーAPIを呼び出すことで情報を取得できます。ドライバーライブラリは、Pythonctypesライブラリを使用してロードできます。
CUDAについては、 https ://gist.github.com/f0k/63a664160d016a491b2cbea15913d549を参照してください。
ドライバー情報については、 https ://github.com/mars-project/mars/blob/a50689cda4376d82a40b7aa9833f572299db7efd/mars/lib/nvutils.pyを参照してください。
再現性のために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)