Linux機(CentOS6.4)にGPU増設

ずっとシステムのアップデートをしていなかったので、まずカーネルをアップデート。
/etc/yum.confの exclude=kernel* をコメントアウトし、
#yum update kernel
ちょっと緊張したが、無事再起動した。

ここで、リポジトリへのリンクが古かったので、更新
自分の場合は/etc/yum.repos.d/にあるhome:dtufys.repoをリネームして排除する必要もあった。

アップデートと、必要なもののインストール。
#yum -y update
#yum upgrade
#yum install gcc*
#yum install freeglut
#yum install freeglut-devel
#yum install kernel-devel


中を開けた直後の状態。


HDDを増設し、GPUも交換した。GTX 1080 Tiを差し込む際、DVDドライブのSATAケーブルが干渉したので別の場所に移す。


電源から伸びていたPCI-E 8pinをまず差し込む。


あと8pin残っていたのはATX兼EPSケーブルであり、PCI-Eとしては使えなかったので、ペリフェラル4×2→PCI-E 6pin変換ケーブルを用いて6pinを埋めた。

蓋を閉めて起動。
この段階では、CentOSのバーが伸び切った段階で止まる。(startXがうまくいかない。)CUIでログインし、まず/etc/grub.confの末尾に以下を追加することで以前のドライバを無効にする。
nouveau.modeset=0

その後、最新のNVIDIAドライバをインストール。
# sh NVIDIA-Linux-x86_64-*****.run
いろいろと聞かれるが、Accept、yesで答える。

nvidia-smi
コマンドが有効になっていることを確認し、再起動すると、画面が出力された!!

次にCUDAをインストールする。
CUDA9.1は仮想環境を通したTensorFlowでは使えない(ソースコードからビルドすれば可だが、未トライ)ということだったので、まずはCUDA8.0とcuDNN6.0の組み合わせ。run fileからインストールした。
#yum install cuda
では、なぜかjre>=1.7.0を満たしていない(java -versionでは1.7になるにも関わらず)と言われてインストールできなかった。

その後PythonでTensorFlowをimportする。
1.0.0はそのまま(ただしcuDNN5.1)でも動いたが、1.4.0をimportしようとすると高位のglibc、gccが必要だと言われるので、個別に導入した。

glibc-2.17
検索するとCentOS7用のglibcを入れるケースが多かったが、CentOS6用のglibc2.17があったので、これをインストール。

gcc-4.8.4
すでに多くの方々がトライされているように、gccをソースコードからビルドしてlibstdc++.so.6のシンボリックリンクを貼り替える。

これでTensorFlowGPU-1.4.0が動いた。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です