Debian CUDA-9.0&CUDA-8.0ハイブリッドインストール

4723 ワード

不服、Tensorflowから1.4のバージョンはまだCUDA-9をサポートしていません.1070は何も言わない過去を置いて、無理にCUDAのバージョンを下げるしかありません.また曲がりくねった過程が始まった.
インストールプロセスはすべてテキストモードで完了します~

1c8b. 直接インストールCUDA-8.0


よし、応援しなくても仕方ないから、降格しましょう.

sudo nvidia-uninstall

CUDA-9のビデオドライブをアンインストールし、

sudo /usr/local/cuda-9.0/bin/uninstall*.pl

CUDA-9に関連するすべてのファイルをアンインストールします.
私は公式サイトからCUDA-8.0.runファイルをダウンロードして、やはり1文の記録のようにインストールを始めましたが、最初から掛けていました...

1c8c. gcc g++バージョンの問題を解決する

Debianは安定しているが、依存処理は本当にUbuntuに及ばないが、もちろん安定が主であり、これ以上いろいろなわけのわからない問題に遭遇したくない.まず、CUDA-8でサポートするgccバージョンは4.4である.ネット上で直接Debianのインストールパッケージを見つけたが、インストールに成功しなかった.なぜなら、システムは多くの依存問題を解決できないからである.Strechの公式ソースにはgcc-4.4 g++-4.4が見つからない.つまり、ソースのバージョンが新すぎます.Wheezyのソースが見つかり、update以降は4.4バージョンのgcc g++を公式ソースでインストールできるようになった.おかしいですね.なぜ公式ソースのインストールで依存を解決できるのか、今後aptdpkgの違いを検討しなければならないようです.はい、どうせインストールに成功しました.インストール後、Wheezyのソースをコメントします.その後、リンクを作成します.

sudo ln -sf /usr/bin/gcc-4.4 /usr/bin/gcc
sudo ln -sf /usr/bin/gcc /usr/bin/cc
sudo ln -sf /usr/bin/g++-4.4 /usr/bin/g++


これにより、4.4バージョンのgcc g++ ccをシステムに使用することができる.gccおよびccは、CUDA-8のインストール中に使用するものであり、g++は、CUDA-Sampleをコンパイルする際に使用するものである.
はい、コンパイラのバージョンの問題は解決しました.
取り付けましょう、問題2が来ました~

1c8d. Kernel Source Treeが見つからない問題の解決

CUDA-8報はkernel-source-treeが見つからず、kernel sourceがインストールされていると判断したら、パスを含めてください.私はインストールしましたが、このような処理は必要ないようです.
使用済み

sudo apt install linux-headers-$(uname -r)


最新のカーネルソースをインストールし、インストールが完了したら、

sudo apt install dkms

dkmsを取り付ける.システムはdkmsを介して、CUDA-8の駆動をインストールする際にグラフィックス駆動モジュールをカーネルにコンパイルする.dkmsがインストールされた後、インストールパッケージもカーネルソースコードを無事に見つけることができたが、その原因は不明...
はい、インストールを続けます.ああ、まだ問題があります.

1c8e. 解決libXmuが見つからない。soの問題


きっとどの依存パッケージがインストールされていないのでしょうか、グーグルはちょっとしてから、

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev


一概に~を解決する
引き続き取り付けてみましたが、成功しました~ふん、駆動、CUDA-ToolkitおよびCUDA-Sampleはすべて取り付け完了しました~startxビデオドライブが正常かどうかを確認してひざまずいて...

1c8f. 375.26バージョンのグラフィックスドライブのロードに失敗しました


エラーメッセージはCannot find monitorであり、X windowは終了する./etc/X11/xorg.confを一目見ると、表示されている部分、vendormodelはともにunkownを表示する、リフレッシュ率も間違っている.さらに、グラフィックスDeviceの部分を見ると、NVIDIA GTX 1070とは認識されなかった.これまでの正しいxorg.confファイルで試してみると、X windowは正常に動作したが、表示解像度が極めて低く、グラフィックスドライブは明らかに動作しなかった.後から繰り返し確認する、CUDA-9のグラフィックスドライブは問題ない.では、現在の苦境は、グラフィックスカードを正常に動作させ、システムにCUDA-8-ToolkitをインストールしてTensorflowを正常に使用することにある.

1c90. CUDA-8&CUDA-9ミキシング


両方を完璧にしたいなら、CUDA-8ToolkitSampleを残し、CUDA-9の駆動を取り付ける.ここでは、CUDA-9のドライバをインストールしてからCUDA-8をインストールすることはできません.これにより、CUDA-8 ToolkitCUDA-8バージョンのグラフィックスドライバを正しくインストールする必要があるという問題が発生します.したがって、CUDA-8を完全にインストールしてから

sudo nvidia-uninstall


グラフィックスドライブをアンインストールし、CUDA-9のグラフィックスドライブをインストールします.他の2つはnにすればいいです.
インストールが完了したら、実行してください

sudo nvidia-xconfig


新しいxorg.confが生成する、startxX windowに入る.nvidia-settingsを開くディスプレイのリフレッシュレートを選択して構成を保存することができる.
その結果、グラフィックスカードもTensorflowも正常に動作する.
最後に、CUDA-8 Sampleをコンパイルする際に、warningが与えられ、libGLU.so libX11.so libGL.soという3つの動的ライブラリが見つからない.DebianCUDAのデフォルトでサポートされているLinuxバージョンではないため、いくつかの構成はありません.これらのライブラリは実際にはありますが、正しい場所にリンクされていません.

sudo ln -sf /usr/lib/x86_l64-linux-gnu/libGLU.so.1 /usr/lib/libGLU.so
sudo ln -sf /usr/lib/x86_l64-linux-gnu/libX11.so.1 /usr/lib/libX11.so
sudo ln -sf /usr/lib/x86_l64-linux-gnu/libGL.so.1 /usr/lib/libGL.so


そして

GLPATH=/usr/lib

PATHに追加する.そしてコンパイルして、no more missing library warnings~
We did it! Enjoy cuda~