2014年2月7日金曜日

xubuntu 13.10 + CUDA 5.5

xubuntu 13.10(おそらくubuntu系列ならば同様であろう)にCUDA 5.5をインストールする手順を説明します.
(一部未確認部分あり)

参考となるサイト

http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-linux/

ダウンロード

ここではインストール対象となる環境はxubuntu 13.10 64bitとする.
(x)ubuntu 13.10用のパッケージは用意されていないため, https://developer.nvidia.com/cuda-downloads からcuda_5.5.22_linux_64.runを,
http://www.nvidia.co.jp/Download/index.aspx?lang=jp から NVIDIA-Linux-x86_64-331.38.run を,それぞれダウンロードする.バージョンは2014/2/13現在.

準備

カーネルのソースコード

sudo apt-get install linux-source
cd /usr/src
sudo tar jxf linux-source-3.11.0.tar.bz2
sudo ln -fs linux-source-3.11.0 linux

最後のシンボリックリンクが必要かどうかは未検証.

開発環境

sudo apt-get install build-essential g++ freeglut3-dev libxmu-dev libxi-dev

gccおよびg++のバージョンが4.6である必要がある.
ubuntu 13.10では4.8が導入されるので,4.6は明示的に導入する.

sudo apt-get install gcc-4.6 g++-4.6

4.6と4.8を切り替えられるようにする.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 20

バージョンの選択は以下のコマンドで行うことができる.

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

インストール

インストールの方針

作業はXを落とした状態(コンソールのみ)で行う.
CUDAのパッケージ内にもグラフィクスドライバは含まれているのだが,
バージョンが古い(317)ためカーネル3.11に対応していない.
グラフィクスドライバは最新の331を入れる.
331を入れる場合でも,パッチが必要と書かれているサイトもあるが,
331.38は必要無い模様.

以下の手順で行う.

  1. コンソールでの作業に移行
  2. 古いドライバを削除
  3. グラフィクスドライバをインストール
  4. CUDAをインストール

コンソールでの作業に移行

xubuntuの場合:
sudo /etc/init.d/lightdm stop
sudo stop lightdm でも可

ディストリビューションに合わせて,lightdm→gdmなど,適宜読み替える.

alt+F1でコンソールに切り替える.

ログインする.

文字化けを避けるため,環境変数LANGをCに設定する.
export LANG=C

古いドライバを削除

nvidiaのパッケージの名前を確認する.
いくつか方法がある.

dkpg --get-selections | grep nvidia
dpkg-query --show | grep nvidia
dpkg -l | grep nvidia

下の方ほど,得られる情報量が多い.

nvidiaのパッケージを削除する.例えば以下のようになる.

sudo apt-get --purge remove nvidia-319-updates
sudo apt-get --purge remove nvidia-settings-319-updates

グラフィクスドライバのインストール

/etc/modprobe.d/blacklist.conf に以下を追加する.
blacklist nouveau

以前は以下も追加していたが,不要なようだ.
blacklist vga16fb
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

パッケージを実行する.
sudo sh NVIDIA-Linux-x86_64-331.38.run

質問にはそれぞれ適切に答える.

再起動する.
sudo reboot

cudaのインストール

nvidiaのドライバがインストールできてXが立ち上がっていれば,ターミナルで作業をしても問題ない.

パッケージを実行する.
sudo sh cuda_5.5.22_linux_64.run

長いlicense terms and conditionsは'q'で途中終了できる.

グラフィクスドライバはインストールしない.

PATH /usr/local/cuda-5.5/bin
/etc/environment のPATHの設定に足す.
この設定が反映されるためには,一度ログアウトする必要がある.

ダイナミックリンクライブラリがあるディレクトリを教える.
/etc/ld.so.conf.d/cuda.conf を以下の内容で作成する.

/usr/local/cuda-5.5/lib64
/lib

sudo ldconfig

サンプルプログラムをコンパイルして,正しくコンパイルできるか,および,動作しているか,確認する.適当なサンプルプログラムのディレクトリに入り,makeすれば実行ファイルが作成される.

0 件のコメント:

コメントを投稿