GPU:C言語開発環境CUDAのインストールと動作確認


2017年 03月 23日

CUDAをインストールしたら、GPUが動作しているかどうか、とりあえず確認しよう。
nvidia-smi というコマンドが入ったはずで、それを実行してみよう。

$ nvidia-smi
Sat Mar 18 18:46:16 2017
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.26                 Driver Version: 375.26                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 0000:01:00.0     Off |                  N/A |
| 35%   37C    P0    35W /  75W |    337MiB /  4038MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0      1129    G   /usr/lib/xorg/Xorg                             164MiB |
|    0      1919    G   compiz                                         127MiB |
|    0     11883    C   gimp-2.8                                        43MiB |
|    0     12492    G   unity-control-center                             1MiB |
+-----------------------------------------------------------------------------+

上図のように、2段に別れて表示される。
現在はGPUが1個だけなので、GPU0として表示されている。たくさん同時に使うと、0,1,2,…となるはず。
FANや、温度、GPUのメモリ容量など色々表示されるので、GPUは機能しているようだ。

下段の表を見ると、すでにいくつかのソフトが勝手にGPUを使っていることが分かる。
明示的にGPUを使わなくても、様々なアプリがGPUを使うことがあるようだ。

とりあえず、動いているらしいことが分かったら、Cのプログラムをコンパイルして動作確認すべきだ。
といっても、Cのプログラムをいきなり書くのは難しい。

こういうときの場合に、CUDAのサンプルプログラムが用意されている。

普通にインストールすると、/usr/local/cuda/samples というディレクトリの中に分野別に分けてプログラムが入っているみたいだ。

fuji@fujigpu:/usr/local/cuda/samples$ ls
0_Simple     2_Graphics  4_Finance      6_Advanced       EULA.txt  bin     err
1_Utilities  3_Imaging   5_Simulations  7_CUDALibraries  Makefile  common

その中に、Makefileというのがあるので、さっそくmakeしてみよう。 すると、binの下に実行可能ファイルがいっぱいできる。
どんなプログラムかは、CUDA code sampleで概要が分かるだろう。
とにかく、適当にクリックして実行してみよう。

これは、3Dのグラフィックスで、実際には刻々と形が変化し続ける。
 
CudaMarchingCubes.png
他にもいろいろあるのだが、説明するのは面倒だし、コンパイルし実行できることが一応分かったので、CUDAのインストールの確認はこれで終わることにする。