Pascal世代GPUでのUbuntu14.04へのCUDAインストール

使用しているGPUは、GTX1050Ti(ELSA GeForce GTX 1050 Ti 4GB S.A.C)です。

まず、先にcuda-8.0をインストールします。

sudo dpkg -i cuda-repo-ubuntu1404_8.0.44-1_amd64.deb
sudo apt-get update  
sudo apt-get install cuda

この時点でNVIDIAドライバ(nvidia-361)も自動でインストールされます。
しかし、GTX1050Tiの要求するドライバはnvidia-375ですので、ppaからドライバを別途インストールします。

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375

以後、apt-getを実行する度に以下のメッセージが表示されますが、cuda-8.0がアンインストールされてしまいますので、autoremoveは実行しないでください。

以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  cuda-command-line-tools-8-0 cuda-core-8-0 
  ...
これを削除するには 'apt-get autoremove' を利用してください。

CUDAへのパスを設定します。

echo "export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
echo "export PATH=/usr/local/cuda-8.0/bin:$PATH" >> ~/.bashrc
source ~/.bashrc

サンプルを用いて、CUDAが実行できるか試してみます。

cp /usr/local/cuda/samples .
cd samples
make -j4

samples/3_Imaging/cudaDecodeGLにて、以下のエラーで落ちると思います。

/usr/bin/ld: -lnvcuvid が見つかりません
collect2: error: ld returned 1 exit status
make[1]: *** [cudaDecodeGL] エラー 1

3_Imaging/cudaDecodeGL/findgllib.mkの61行目を、UBUNTU_PKG_NAME = "nvidia-375"に修正します。
再度makeを実行することで、全サンプルがコンパイルできるはずです。早速実行してみましょう。

# GPUの詳細情報表示
./bin/x86_64/linux/release/deviceQuery
# 多体問題をGPUでシミュレーション
./bin/x86_64/linux/release/nbody
# 上記をCPUでシミュレーション
./bin/x86_64/linux/release/nbody -cpu

効果が得られやすい問題なのだと思いますが、GPUの恩恵が強く実感できます。