CUDA Toolkit Linux 版のインストールメモ

2017年10月26日

はじめに

CUDA Tookit を Linux にインストールする。

バージョン

CUDA Toolkit 9.0

インストール環境

Ubuntu 17.04, NVIDIA GeForce GTX 1070

ちなみにビデオカードを調べたい場合は以下のようにする。

$ lspci | grep -i nvidia

パッケージのダウンロード

こちら からパッケージをダウンロードする。選択肢が出てくるので、"Linux" - "x86_64" - "Ubuntu" - "17.04" と選択する。最後にインストールタイプを選択する必要があるが、ここでは "deb (local)" を選択する。"Download" をクリックしてファイルをダウンロードする。

インストール

ダウンロードしたパッケージをインストールする。

$ sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb

公開鍵を登録して、CUDA をインストールする。

$ sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
$ sudo apt-get update
$ sudo apt-get install cuda

パスの設定を ~/.bashrc に追加。

export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

再起動する。

サンプルのコンパイル

サンプルをコンパイルする。

$ cp -r /usr/local/cuda-9.0/samples/ .
$ cd samples
$ make

"3_Imaging/cudaDecodeGL" のコンパイルで、"-lnvcuvid が見つかりません" というエラーメッセージで止まった。"3_Imaging/cudaDecodeGL/findgllib.mk" の UBUNTU_PKG_NAME の値を直接指定する。

#UBUNTU_PKG_NAME = $(shell which dpkg >/dev/null 2>&1 && dpkg -l 'nv    idia-*' | grep '^ii' | awk '{print $$2}' | head -1)
UBUNTU_PKG_NAME = "nvidia-384"

ここでは、ドライバのバージョンを取ってセットしているようであるが、ドライバが古いドライバの差分の形でインストールされていると、古いバージョンを拾ってしまうらしい。以下のコマンドで出てくる "nvidia-*" の数字が一番大きなものを UBUNTU_PKG_NAME で指定する。

$ dpkg -l 'nvidia-*'

初めて NVIDIA のドライバ を CUDA のついでで入れる場合は、問題は起こらない?

コンパイルできたら、試しに実行。

$ cd bin/x86_64/linux/release/
$ ./deviceQuery
...
Device 0: "GeForce GTX 1070"
  CUDA Driver Version / Runtime Version          9.0 / 9.0
  CUDA Capability Major/Minor version number:    6.1
  Total amount of global memory:                 8111 MBytes (8504999936 bytes)
  (15) Multiprocessors, (128) CUDA Cores/MP:     1920 CUDA Cores
...

ベンチマーク

nbody でベンチマークを行える。

$ ./nbody -benchmark -numbodies=100000

倍精度の場合はオプション "-fp64" を付ける。

ベンチマーク結果 (GFLOPS)

単精度倍精度
13973.886164.854
23800.698162.729
34000.909163.017
平均3925.164163.533

GeForce GTX 1070 の単精度演算性能は 6.5 TFLOPS とのことなので、まあまあか。

古い情報