ずっとシステムのアップデートをしていなかったので、まずカーネルをアップデート。
/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ケーブルが干渉したので別の場所に移す。
あと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が動いた。