Debian GNU/Linux 8.3(64bit)でNVIDIA GPUを使ったBOINCを動かす#
公式ドライバのインストール
ここではDebianでパッケージが用意されているVersion 340.96をインストールします。
https://wiki.debian.org/NvidiaGraphicsDrivers#Version_340.96
このドライババージョンで対応しているのは以下のデバイスです。
http://us.download.nvidia.com/XFree86/Linux-x86_64/340.96/README/supportedchips.html
aptに設定を追加
/etc/apt/sources.listの以下の行を変更する。
deb http://ftp.jp.debian.org/debian/ jessie main
プロプライエタリなソフトパッケージも使えるように以下のように変更。
deb http://ftp.jp.debian.org/debian/ jessie main contrib non-free
ドライバパッケージのインストール
# aptituide update
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
NVIDIAドライバインストール中にエラーが表示されるがびびらずに読むこと。
X.org用の設定ファイルを作成する
まず設定ファイルを設置するディレクトリを作成する。(すでにあればこの作業は不要)
# mkdir /etc/X11/xorg.conf.d
作ったディレクトリに以下の内容の20-nvidia.confというファイルを設置する。
Section "Device"
Identifier "My GPU"
Driver "nvidia"
EndSection
再起動
お祈りしながら再起動しましょう。
よく話題に出るフリー版NVIDIAドライバ(nouveau)の無効化は自動で行ってくれるので不要です。
NVIDIAロゴが一瞬表示されてXが無事起動すれば成功です。NVIDIAロゴの消し方は以下のURL参照。
BOINC関連のインストール
i386関連のライブラリ有効化
x86_64(amd64)環境ではなくi386なライブラリが必要なプロジェクトもあるのでマルチアーキテクチャを念の為有効にする。
# dpkg --add-architecture i386
# aptitude update
BOINC関連パッケージのインストール
Debian Wikiの記述が古いので何とも言えないのですが以下のものをインストールしました。
足りない・不要なパッケージも有るかもしれません。
# aptitude install boinc boinc-nvidia-cuda nvidia-opencl-icd nvidia-glx libcuda1
OpenCLをBOINCが見つけられるようにハック
OpenCLのライブラリをBOINCが見失うことが有るらしいので設定する。
# ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/x86_64-linux-gnu/libOpenCL.so
# /etc/init.d/boinc-client restart
GPUを認識しているか確認
BOINC Manager(boincmgr)を起動して、イベントログに以下のようなメッセージが有ることを確認する。
CUDA: NVIDIA GPU 0: GeForce GT 430 (driver version unknown, CUDA version 6.5, compute capability 2.1, 1023MB, 798MB available, 269 GFLOPS peak)
OpenCL: NVIDIA GPU 0: GeForce GT 430 (driver version 340.96, device version OpenCL 1.1 CUDA, 1023MB, 798MB available, 269 GFLOPS peak)
BOINCプロジェクトの登録・稼働
Linux(x86_64/amd64)でNVIDIA GPUに対応していて実際にGPUでの稼働を確認したプロジェクトは以下の通り。
- Asteroids@home
- Collatz Conjecture
- Einstein@Home
- Milkyway@Home
- Moo! Wrapper
- POEM@HOME
- PrimeGrid
今はGPUを使ったプロジェクトは稼働して無さそうなので動作未確認。
- World Community Grid
トラブルシューティング
あなたのマシンには対応していないと表示される場合
i386関連のライブラリが足りないかもしれません。
グラフィック表示関連にi386版ライブラリが必要な場合があるので丹念に/var/lib/boinc以下の実行ファイルをlddしていくしかないです。