CUDA Toolkit Linux 版のインストールメモ2018年1月27日 | |||||||||||||||
はじめにCUDA Tookit を Linux にインストールする。 バージョンCUDA Toolkit 9.0 インストール環境Ubuntu 16.04, NVIDIA GeForce GTX 1070 など ちなみにビデオカードを調べたい場合は以下のようにする。 $ lspci | grep -i nvidia ちゃんとした情報が出てこない場合は、一度以下のように実行する。 $ sudo update-pciids OpenGL あり版パッケージのダウンロードこちら からパッケージをダウンロードする。選択肢が出てくるので、"Linux" - "x86_64" - "Ubuntu" - "17.04" と選択する。最後にインストールタイプを選択する必要があるが、ここでは "deb (local)" を選択する。"Download" をクリックしてファイルをダウンロードする。 インストールダウンロードしたパッケージをインストールする。 $ sudo dpkg -i cuda-repo-ubuntu1604-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 再起動する。 OpenGL なし版Tesla は挿さっているがグラフィック自体には NVIDIA のカードを使っていないサーバーなど、OpenGL のライブラリをインストールされると正しく動かなくなる環境の場合は、以下のようにする。 パッケージのダウンロードこちら からパッケージをダウンロードする。選択肢が出てくるので、"Linux" - "x86_64" - "Ubuntu" - "16.04" と選択する。最後にインストールタイプを選択する必要があるが、ここでは "runfile (local)" を選択する。"Download" をクリックしてファイルをダウンロードする。 インストールダウンロードしたパッケージをインストールする。オプションで OpenGL をインストールしないようにする。 $ chmod +x cuda_9.0.176_384.81_linux.run $ sudo ./cuda_9.0.176_384.81_linux.run --silent --toolkit --samples --samplespath=/usr/local/cuda-9.0/samples --no-opengl-libs Tesla などのドライバは別途 こちら からダウンロードしてインストールする。X 上で作業中なら、一度 X を落とす。 ログアウト後、Ctrl+Alt+F1 してログインする。 X を落とす。 $ sudo init 3 ドライバのインストール。やはりオプションで OpenGL をインストールしないようにする。 $ chmod +x NVIDIA-Linux-x86_64-384.81.run $ sudo ./NVIDIA-Linux-x86_64-384.81.run --silent --no-opengl-files --no-libglx-indirect X の起動。 $ sudo init 5 パスの設定を ~/.bashrc に追加。 export PATH=/usr/local/cuda-9.0/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH 再起動する。 参考 サンプルのコンパイルサンプルをコンパイルする。 注: OpenGL なしだとコンパイルできないものがある。 $ 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)
GeForce GTX 1070 の単精度演算性能は 6.5 TFLOPS とのことなので、まあまあか。 古い情報 | |||||||||||||||
PENGUINITIS |