- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 機械学習/GeForce GTX 1080を搭載したMac ProでTensorFlowを使う へ行く。
- 1 (2017-02-05 (日) 00:58:08)
- 2 (2017-02-05 (日) 23:00:13)
- 3 (2017-02-06 (月) 12:36:03)
- 4 (2017-02-06 (月) 12:36:03)
- 5 (2017-11-03 (金) 16:56:01)
はじめに †
Mac Pro (2010 Mid)にGeForce GTX 1080を積んで、TensorFlowを動かすまでのメモです。
macOSではGeForce GTX 1080がまだサポートされていないので、UbuntuをインストールしてUbuntu上で動かします。
用意したもの †
- ASUS TURBO-GTX1080-8G
- Mini PCIe 6 pin to PCIe 6 pinケーブル
- PCIe 6 pin x 2 to PCIe 8 pinケーブル
- 2TB 3.5inch SATA HDD
- 16GB USBメモリー
HDDの容量はもっと小さくても構いません。 USBメモリーの容量は16GB以上必要です。
Ubuntuインストール用USBメモリーを作成する †
次のページを参考にしました。
- Ubuntu 16.04 LTSをダウンロードします。
- ディスクユーティリティを使って、USBメモリーを、MS-DOS (FAT)、GUIDパーティションで消去します。
- diskutilコマンドで、USBメモリーのデバイスを調べます。
$ diskutil list
- 調べたデバイスをアンマウントします。(これはデバイスが /dev/disk2 の時の例です。)
$ diskutil unmountDisk /dev/disk2
- ダウンロードしたUbuntuのISOイメージをコピーします。
$ sudo dd if=ubuntu-16.04-desktop-amd64.iso of=/dev/rdisk2 bs=1m
Ubuntu用のHDDを用意する †
- macOSをシャットダウンし、HDDを増設します。
- macOSを起動し、ディスクユーティリティで増設したHDDを、MS-DOS (FAT)、GUIDパーティションで消去します。
スワップ領域を作りたい場合は2パーティションにすればいいと思いますが、今回のMac Proは32GBのメモリーを積んでいるので、スワップ領域はなしにしました。
ブート・マネージャーを準備する †
BootCampはUbuntuをサポートしていません。 そこで、rEFIndというブート・マネージャーを使います。
- rEFIndをダウンロードし、展開する。
- macOSをシャットダウンし、Command+Rを押しながら起動する。
- リカバリー・モードで起動したら、ターミナルを起動し、rEFIndを展開したフォルダーに移動する。
- rEFIndをインストールする。
# ./refind-install
- macOSを再起動する。
Ubuntuをインストールする †
- Ubuntuインストール用のUSBメモリーを接続する。
- macOSをシャットダウンし、Optionを押しながら起動する。
- 「EFI Boot」を選択する。
- 「Try Ubuntu without installing」を選択し、USBメモリーからUbuntuを起動する。
- 起動したUbuntuのデスクトップにある「Install Ubuntu 16.04 LTS」をダブルクリックする。
Ubuntuをアップデートする †
最新版にアップデートします。
- 「システム環境設定」の「ソフトウェアとアップグレード」の「アップデート」にあるUbuntuの新バージョンの通知を「全ての新バージョン」に扁壺する。
- アップデートする
$ sudo apt update $ sudo do-release-upgrade $ sudo shutdown -r $ sudo do-release-upgrade -d $ sudo shutdown -r
UbuntuにSSHをインストールする †
リモートで作業できるように、sshdをインストールします。
- sshをインストールする。
$ sudo apt-get install openssh-server
- sshが自動で起動するように設定する。
$ sudo systemctl enable ssh.service
- Ubuntuを再起動してリモートからsshでログインできるか確認する。
セキュリティのことを考えると、インターネットから見える環境では、rootでのログインはできないようにしておくべきです。
UbuntuにNvidiaのドライバーをインストールする †
次のページを参考にしました。
- インストールの準備をする。
$ sudo add-apt-repository ppa:xorg-edgers/ppa $ sudo add-apt-repository ppa:graphics-drivers/ppa $ sudo apt-get update
- 最新版のドライバーを調べる。
$ sudo apt-cache search 'nvidia-[0-9]+$'
- 最新版のドライバーをインストールする。
$ sudo apt-get install nvidia-384 $ sudo apt-get install mesa-common-dev $ sudo apt-get install freeglut3-dev
このときは、最新版が378でした。
Mac ProにASUS TURBO-GTX1080-8Gを装着する †
Mac Pro (Mid 2010) には、GPU用の電源として、Mini PCIe 6pinのソケットが2つ付いています。 PCIe 6 pinケーブルは75 Wまでしか供給できません。
そこで、PCIe 6 pinケーブル2本をまとめてPCIe 8 pinに変換してくれるケーブルを使います。 PCIe 8 pinは150Wまで供給できます。
PCIeソケットから75W共有できるので、Mac Pro (Mid 2010)は全部で225Wまで供給できます。
GeForce GTX 1080を搭載したビデオカードはたくさん出ていますが、その多くがPCIe 8pin x 2やPCIe 8 pin + PCIe 6 pinだったりします。
ASUS TURBO-GTX1080-8Gは、最大消費電力が225Wで、かつ、補助電源がPCIe 8 pin 1本のみなので、Mac Pro (Mid 2010)でも使うことができます。
- Ubuntuをシャットダウンする。
- Mac Proから現在のビデオカードを外す
- Mini PCIe 6 pin to PCIe 6 pinケーブルを空いているソケットに接続する。
- 2本のPCIe 6 pinケーブルをPCIe 6 pin x 2 to PCIe 8 pinケーブルに接続する。
- PICe 8 pinケーブルをASUS TURBO-GTX1080-8Gに接続する。
- ASUS TURBO-GTX1080-8GをMac Proに装着する。
- Ubuntuを起動し、画面が表示されることを確認する
UbuntuにCuda 8.0をインストールする †
次のページを参考にしました。
- Ubuntuを起動する。
- Cudaをダウンロードする(Linux, x86_64, Ubuntu, 16.04, dev(local)を選択して、Downloadボタンからリンクを取得します)。
$ wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb $ wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb
- Cudaをインストールする。
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb $ sudo apt-key add /var/cuda-repo-8-0-local-ga2/7fa2af80.pub $ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_amd64.deb $ sudo apt-get update $ sudo apt-get install cuda-8-0
- .bashrcに以下の2行を追加する。
export PATH="/usr/local/cuda-8.0/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
- Ubuntuを再起動する。
$ sudo reboot
- ログインして、動作確認する。
$ nvidia-smi
CuDNN 5.1をインストールする †
- NvidiaのAccelerated Computing Developer Programにメンバー登録する。
- cuDNN v5.1 library for Linuxをダウンロードする。
- ダウンロードしたファイルを展開してインストールする。
$ tar zxvf cudnn-8.0-linux-x64-v6.0.tgz $ sudo cp -a cuda/lib64/* /usr/local/cuda-8.0/lib64/ $ sudo cp -a cuda/include/* /usr/local/include/ $ sudo cp -a cuda/include/* /usr/local/cuda-8.0/include/ $ sudo ldconfig $ rm -R -f cuda cudnn-8.0-linux-x64-v6.0.tgz
- LightDMを止めるために、/etc/default/grub の12行目を以下のように変更する。
GRUB_CMDLINE_LINUX="systemd.unit=multi-user.target"
- 設定を反映させて、Ubuntuを再起動する
$ sudo update-grub $ sudo reboot
TensorFlow r0.12をインストールする †
次のページを参考にしました。
- Download and Setup - TensorFlow
- Pip3をインストールする。
$ sudo apt-get install libcupti-dev
- Virtualenvをインストールする。
$ sudo apt-get install python3-pip python3-dev python-virtualenv
- Virtualenvをアクティベートする。
$ virtualenv --system-site-packages -p python3 ~/tensorflow
- TensorFlowの動作を確認する。
$ source ~/tensorflow/bin/activate