前回の記事では、最新版のCUDA7.5をインストールしてて、GUIログインが出来なくなって、bumblebeeをインストールして、GUIログイン出来るところまで復活したことを書いた。
この時点ではCUDAは正常にインストールできていない。
このまま、闇雲にやってもインストールできそうもない予感がしたので、ログ等を見ながら、問題を一つ一つ潰していく、成功法しかないと思い、ネットを検索した。
このページに書いてあることを一つずつ確認していった。
(1)/var/log/Xorg.0.logを確認
(EE) Faitaled to load module "nvidia" (module does not exists 0)
(II) Load Module:"nouveau"
※ nvidiaモジュールがロードされていない。そこで次を確認。
(2)/usr/lib/xorg/modues/driverにnvidia_drv.soが有るかを確認。
→ 無かったので、以下を実施。
・/usr/lib/nvidia-352/xorg配下の
nvidia_drv.soを/usr/lib/xorg/modues/driversに複写。
・再度、/var/log/Xorg.0.logを確認すると、以下の通り成功。
(II) Loading /usr/lib/xorg/modues/drivers/nvidia_drv.so
※ ここで、deviceQueryを実行すると、次の通り。
$ ./deviceQuery
modprobe: FATAL:Moduel nvidia not found
※ CUDAからはnvidiaモジュールが認識されていないということか?!
(3)/var/log/kern.logを確認。
→ Quadro FX 3800 GPUは、driver 352.63は未サポートとのメッセージ。
340.xx Legacy driversでサポートされている、以下を参考にとのこと。
http://www.nvidia.com/object/unix.html
※ 最新のドライバーである352.63は、Qudro FX3800をサポートしていない。
FX3800では、340.xxxの古いドライバーを使うしかない!!
自分の環境でのCUDAインストールの方向は、nvidiaドライバー340系をどうインストールするかということに主題が移った。
(4)Legacyドライバー(340.96)のインストール
・nvidiaのUNIXドライバーのページからLINUX X64 (AMD64/EM64T) DISPLAY DRIVER version340.96をダウンロード。
・CTRL+ALT+F1でCUIモードにし、X関連を落とす。
$ sudo service lightdm stop
$ pkill Xorg
# sh NVIDIA-Linux-x86_64-340.96.run
(5)期待を胸に再起動し、確認。
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
※ どうやら、古いドライバー340.96を入れたことが原因のようだが、解決法がわからない。
続く
この時点ではCUDAは正常にインストールできていない。
このまま、闇雲にやってもインストールできそうもない予感がしたので、ログ等を見ながら、問題を一つ一つ潰していく、成功法しかないと思い、ネットを検索した。
このページに書いてあることを一つずつ確認していった。
(1)/var/log/Xorg.0.logを確認
(EE) Faitaled to load module "nvidia" (module does not exists 0)
(II) Load Module:"nouveau"
※ nvidiaモジュールがロードされていない。そこで次を確認。
(2)/usr/lib/xorg/modues/driverにnvidia_drv.soが有るかを確認。
→ 無かったので、以下を実施。
・/usr/lib/nvidia-352/xorg配下の
nvidia_drv.soを/usr/lib/xorg/modues/driversに複写。
・再度、/var/log/Xorg.0.logを確認すると、以下の通り成功。
(II) Loading /usr/lib/xorg/modues/drivers/nvidia_drv.so
※ ここで、deviceQueryを実行すると、次の通り。
$ ./deviceQuery
modprobe: FATAL:Moduel nvidia not found
※ CUDAからはnvidiaモジュールが認識されていないということか?!
(3)/var/log/kern.logを確認。
→ Quadro FX 3800 GPUは、driver 352.63は未サポートとのメッセージ。
340.xx Legacy driversでサポートされている、以下を参考にとのこと。
http://www.nvidia.com/object/unix.html
※ 最新のドライバーである352.63は、Qudro FX3800をサポートしていない。
FX3800では、340.xxxの古いドライバーを使うしかない!!
自分の環境でのCUDAインストールの方向は、nvidiaドライバー340系をどうインストールするかということに主題が移った。
(4)Legacyドライバー(340.96)のインストール
・nvidiaのUNIXドライバーのページからLINUX X64 (AMD64/EM64T) DISPLAY DRIVER version340.96をダウンロード。
・CTRL+ALT+F1でCUIモードにし、X関連を落とす。
$ sudo service lightdm stop
$ pkill Xorg
# sh NVIDIA-Linux-x86_64-340.96.run
(5)期待を胸に再起動し、確認。
$ cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX x86_64 Kernel Module 340.96 Sun Nov 8 22:33:28 PST 2015
GCC version: gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
$ ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
※ どうやら、古いドライバー340.96を入れたことが原因のようだが、解決法がわからない。
続く