ラベル CUDA の投稿を表示しています。 すべての投稿を表示
ラベル CUDA の投稿を表示しています。 すべての投稿を表示

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すれば実行ファイルが作成される.

2013年2月17日日曜日

cudaMallocの速度

cudaMallocに要する時間の測定結果.

環境

  • windows 8 64bit
  • visual c++ 2010 express
  • cuda 5.0
  • intel core-i5 3317 1.70GHz
  • GeForce GT 620M
  • cudaMallocとcudaFreeだけ,転送はしない
結果

  • 0.3msec / cudaMalloc()
  • サイズ4Mくらいまでは一定時間と考えてよい
  • 大規模な処理なら無視できるが,時間にシビアな用途(画像処理など,1/60=16.7msecで作業を終わらせる必要があるなど)では,複数回実行すると実行時間に影響を与えるレベル.



2012年12月13日木曜日

ubuntu 11.10 + CUDA 5.0

xubuntu 13.10 + CUDA 5.5のエントリが最新です。

----

CUDA 5.0 は ubuntu 11.10 推奨.
https://developer.nvidia.com/cuda-downloads
ASUS P8Z68 DELUXE/GEN3 で 12.10 が動かない現象あり.何度か挑戦して,あきらめる.
http://www.ubuntulinux.jp/download/ja-remix
32ビットでも PAE(Physical Address Extension) により4GB以上のメモリを使用できる.

まずドライバを入れる.

sudo apt-get update
sudo apt-get upgrade
Ctrl+Alt+F1 でコンソールが表示されない.
カーネルパラメータに nomodeset を渡すように設定を変更.
/boot/grub/grub.cfg の linux のエントリの末尾に nomodeset と記述.

ソースが必要
sudo apt-get install linux-source

nouveau を無効化する.コンソール画面で行う.
sudo stop lightdm
sudo apt-get --purge remove nvidia-common
sudo apt-get --purge remove nvidia-current
sudo apt-get --purge remove nvidia-settings
sudo apt-cache search nvidia など実行してインストールされている nvidia 関係のパッケージを確認するべし.

/etc/modprobe.d/blacklist.conf に以下を追加する.
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv
コンソールから
sudo sh NVIDIA...
これでうまくいくはず.


次に CUDA 5.0 のインストール
長い license terms and conditions は Ctrl-C でキャンセルできる.
sudo apt-get install freeglut3

sudo apt-get install build-essential freeglut3-dev libxmu-dev libxi-dev
1行目は不要かもしれない.

このままだと,libglut.so が無い,と言われるので,シンボリックリンク.
sudo ln -s /usr/lib/libglut.so.3 /usr/lib/libglut.so
sudo ldconfig

CUDA 関連実行ファイルにパスを通す.
~/.profile に
PATH="/usr/local/cuda-5.0/bin:$PATH"

ダイナミックリンクライブラリがあるディレクトリを教える.
/etc/ld.so.conf.d/cuda.conf を作成し,
/usr/local/cuda-5.0/lib
を記述する.

参考にした主なサイト: