イマドキなCUDA 6.5のインストール手順@Ubuntu

現在確認されている深海魚として最も深いところでは8,000メートルを超えるところで見つかったヨミノアシロという種だそうです。8,000メートルって。800気圧って。

さて、CUDAの開発環境の構築は昔から少々面倒で、多少のLinuxの知識と折れない心と英語力が必要です。
自分もこのたびわりと久しぶりに自宅PCにCUDA環境を構築したら、やり方も変わっていて躓いたので備忘録としてメモ。

環境

  • GPU: GeForce GTX 670 (Kepler, GK104)
  • OS: Linux Mint 17 (Ubuntu 13.10) x64, Kernel 3.13.0
  • GCC: 4.8.2
  • インストールするCUDA: 6.5

基本的にディスプレイドライバ周りは最初にOSインストールした後は何も変更もしてないです。

セットアップ方法

基本的には、下記公式ドキュメントから。
Getting Started Linux :: CUDA Toolkit Documentation

Xを殺害したほうがいいかも

ディスプレイドライバをいじくる操作になるので、Xを事前に殺したほうがいいかもしれません。
なお、これをするとブラウザとか全部死にます。
まず、Ctrl+Alt+F1あたりを押して仮想コンソールに入ります。
でXを殺害します。

% sudo stop mdm #(Linux Mintの場合)
% sudo stop gdm #(Ubuntuの場合)

以後の作業は、このままコンソールを抜けずに続けます。

CUDAの導入

CUDA Downloadsより、debパッケージをダウンロード。このパッケージはとても小さくて、単にaptリポジトリを追加するだけです(sources.list.d/cuda.listがそいつです)。

% wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_6.5-14_amd64.deb
% sudo dpkg -i cuda-repo-ubuntu1404_6.5-14_amd64.deb
% sudo apt-get update
% sudo apt-get install cuda

あとはひたすらまつのみ。ダウンロードする総量は約1GB。
およそ30分で完了しました。

続いて、PATHを通してやります。
下記のような設定を*shrcなり/etc/environmentなりに書きます。

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

完了したら、再起動。

確認

こんなかんじで出力されればOKです。

% nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Thu_Jul_17_21:41:27_CDT_2014
Cuda compilation tools, release 6.5, V6.5.12

% nvidia-smi
 Mon Jan 19 00:30:30 2015       
 +------------------------------------------------------+                       
 | NVIDIA-SMI 340.29     Driver Version: 340.29         |                       
 |-------------------------------+----------------------+----------------------+
 | 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 670     Off  | 0000:01:00.0     N/A |                  N/A |
 | 30%   42C    P8    N/A /  N/A |     71MiB /  2047MiB |     N/A      Default |
 +-------------------------------+----------------------+----------------------+
                                                                               
 +-----------------------------------------------------------------------------+
 | Compute processes:                                               GPU Memory |
 |  GPU       PID  Process name                                     Usage      |
 |=============================================================================|
 |    0            Not Supported                                               |
 +-----------------------------------------------------------------------------+

以上!
5.5とかの頃より遥かに導入がラクになっててすごい助かる。
非対話的にできるようになったので、環境構築の自動化が大変やりやすくなるのです。

ところでこういう環境構築系記事は書くのもラクなわりにPV稼げるしバージョンが新しくなる度に書き直せて記事数を稼げるのでずるいと思う。けど大事だと思う。まる。
もうすぐCUDA 7も出るしね!

コメントを残す

メールアドレスが公開されることはありません。