Anacondaとibus-setup

Anacondaでpython3にしたらibus-setupがpythonのエラーを吐いて実行できなくなり、日本語入力ができなくなった。メニューバーのinput methodから行ってもpreferencesが起動せず。

/usr/bin/ibus-setup

の中にあるexec python→exec /usr/bin/pythonと変更したら解決した。

HDD増設(10TB x 2)+ LVM設定

# fdisk -l

Disk /dev/sda: 10000.8 GB, 10000831348736 bytes
255 heads, 63 sectors/track, 1215865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

Disk /dev/sdc: 10000.8 GB, 10000831348736 bytes
255 heads, 63 sectors/track, 1215865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

10TBのディスクが二つ認識されていることが確認できた。パーティションを作成するが、fdiskでは2TBまでしかできないのでpartedを用いる。

# parted /dev/sda
(parted) mklabel gpt → Yes
(parted) unit GB
(parted) mkpart primary 0.0GB 10000.8GB
(parted) set 1 lvm on
(parted) print
(parted) quit

/dev/sdcに対しても同様に行う。

・物理ボリューム作成
# pvcreate /dev/sda1
# pvcreate /dev/sdc1

# pvscan
で物理ボリュームがきちんと作成されたか確認。

・ボリュームグループ作成
# vgcreate -s 512m VG01 /dev/sda1 /dev/sdc1

# vgdisplay -v VG01
で表示されるVG Sizeが最大容量なので確認しておく。

・論理ボリューム作成
# lvcreate -L 18.19TiB -n vol01 VG01
# lvscan
で論理ボリュームがきちんと作成されたか確認。

・フォーマット。mkfs.ext4は、どうやら16TBまでしかフォーマットできないらしいので、xfsを用いた。(mke2fsというものあるらしい)
# mkfs -t xfs -f /dev/VG01/vol01

・マウント。xfsフォーマットの場合、特にオプションをつけずにマウントできる。/etc/fstabにも追加しておく。
# mkdir /data
# mount /dev/VG01/vol01 /data

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が動いた。