ASUS Z10PE-D8 WS にビデオカードを刺してCUDA8を動かす
ASUS Z10-PE-D8 WS が4枚グラフィックカードを挿せるというので、ただいま奮闘中。
以下、構成です。
- マザーボード
- ASUS Z20-PE-D8 WS
- CPU
- 電源
- CORSAIR AX1500i
- グラフィックカード
- システム
- Scientific Linux 6.8
1)BIOS設定でメインのVIDEO出力をonboardに変更。
これ、デフォルトでそうなっている、とマニュアルには書いてあるのに、そうなっていなかった…。
カード挿すとQ-Codeが62番を刺して「ピー」とか音がして起動が止まってしまうので、何が悪いのかとマザーボードを箱から出してみたり、奮闘2時間。もしやと思ってBIOSをチェックしたらいつのまにかoffboard deviceになってる…。
BIOSからIntelRCSetup→Miscellaneous Configuration→Active Videoで設定。
2)ドライバとCUDAのインストール
前の記事では.runファイルを使う方法で紹介したのだけれど、ELrepoを使うとrpmで簡単に入るのでそれでやってみる。
nouveauを無効化するところまでは前の記事と同じなので省略。
1) ELrepo をインストール。
ELrepoの中のnvidia-detectがドライバを選んでくれるのだけれど、そのためにはまずelrepoをrpmにインポートする必要がある。
$ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org $ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm $ sudo yum install nvidia-detect
2)cuda RPMをとってくる。
RPMの場合、cudaをインストールしたら勝手にドライバもいれてくれる。
現時点での最新はCUDA8.0なので、nvidiaのホームページに行ってCUDAのrpmをとってくる。
NVIDIAのウェブサイトにある基本コマンドは以下のとおり。
$ sudo rpm -i cuda-repo-rhel6-8-0-local-ga2-8.0.61-1.x86_64.rpm $ sudo yum clean all $ sudo yum install cuda
しかし、SL6.Xにこれをやると、以下のエラーが出る。
Requires: libvdpau(x86-32) >= 0.5
どうしたものかと思ったら、以下のサイトに解決法が書いてありました。ありがたや!
Scientific Linux 6でCUDA: satok weblog
転載すると、
1 /etc/yum.repos.d/linuxtech.repo と言うファイルを作成
[linuxtech]
name=LinuxTECH
baseurl=http://pkgrepo.linuxtech.net/el6/release/
enabled=1
gpgcheck=1
gpgkey=http://pkgrepo.linuxtech.net/el6/release/RPM-GPG-KEY-LinuxTECH.NET2 以下のコマンドを実行
# yum install libvdpau
とのこと。たしかに、これでyum installが通るようになりました。
3)テスト
CUDA8.0では、テストプログラムのインストール スクリプトが用意されている。
コンパイルしてdeviceQueryを走らせてみる。
$ /usr/local/cuda-8.0/bin/cuda-install-samples-8.0.sh ~ $ cd ~/NVIDIA_CUDA-8.0_Samples/ $ make $ bin/x86_64/linux/release/deviceQuery
すると、一応走るのだけど、GTX 1080だけこんなエラーが。
MapSMtoCores for SM 6.1 is undefined. Default to use 128 Cores/SM
なんか、せっかくのGTX 1080が遅くなっているような感じ?
で、このメッセージで検索をかけてみると、どうやらcuDNN とかいうライブラリが古いらしい。
GTX 1080はPascalなので、cuDNNはバージョン5以上を使わなければダメ、とCUDAのdeveloper pageに書いてあるのだそうな。
というわけで、cuDNNのアップグレードの方法を探したら、これまたすでに解決されている方がおられました!
CUDA 8.0とcuDNN 5.1をUbuntu 16.04LTSにインストールする - Qiita
Ubuntsuについてのページですが、cuDNNのインストールの部分はまったく同じです。
これも一応転載しておきます。
https://developer.nvidia.com/rdp/cudnn-download からcuDNN 5.1 for CUDA 8.0をダウンロードする(アクセスするにはメンバー登録が必要)。 ダウンロードしたフォルダで以下のコマンドを実行して、cuDNNのライブラリをCUDAがインストールされているディレクトリにコピーする。シンボリックリンクがシンボリックリンクとしてコピーされるように cp には -a をつける必要がある。
terminal tar xzvf cudnn-8.0-linux-x64-v5.1.tgz sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/ sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/ sudo ldconfig
ちなみに私はcuDNN 6.0 for CUDA 8.0をとってきましたが、問題なく動きました。
ところで、消費電力大丈夫??
実は、いい加減な計算しかしていなかったもので、、電源が4枚挿しに耐え切れるかわからないのでした(汗)
ざっくり計算すると、グラボ1枚につき225W。CPUは1個あたり75W。マザーボードがどれだけ電気食うかわからないけど、まあ1500Wの電源ならギリ大丈夫、、かな?(^^;)
こんなサイトもあるそうです。。