*はじめに [#r8261ce7]

Mac Pro (2010 Mid)にGeForce GTX 1080を積んで、TensorFlowを動かすまでのメモです。

macOSではGeForce GTX 1080がまだサポートされていないので、UbuntuをインストールしてUbuntu上で動かします。


*用意したもの [#k794b74f]

-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メモリーを作成する [#z697fa7f]

次のページを参考にしました。
-[[OS X El CapitanとUbuntu 16.04 LTSのデュアルブート環境を構築する:http://ottan.xyz/el-capitan-ubuntu-dual-boot-4020/]]

+Ubuntu 16.04 LTSをダウンロードします。
+ディスクユーティリティを使って、USBメモリーを、MS-DOS (FAT)、GUIDパーティションで消去します。
+diskutilコマンドで、USBメモリーのデバイスを調べます。
#geshi(sh){{
$ diskutil list
}}
+調べたデバイスをアンマウントします。(これはデバイスが /dev/disk2 の時の例です。)
#geshi(sh){{
$ diskutil unmountDisk /dev/disk2
}}
+ダウンロードしたUbuntuのISOイメージをコピーします。
#geshi(sh){{
$ sudo dd if=ubuntu-16.04-desktop-amd64.iso of=/dev/rdisk2 bs=1m
}}


*Ubuntu用のHDDを用意する [#c5af21ac]

+macOSをシャットダウンし、HDDを増設します。
+macOSを起動し、ディスクユーティリティで増設したHDDを、MS-DOS (FAT)、GUIDパーティションで消去します。

スワップ領域を作りたい場合は2パーティションにすればいいと思いますが、今回のMac Proは32GBのメモリーを積んでいるので、スワップ領域はなしにしました。


*ブート・マネージャーを準備する [#bd50f679]

BootCampはUbuntuをサポートしていません。
そこで、rEFIndというブート・マネージャーを使います。

+rEFIndをダウンロードし、展開する。
+macOSをシャットダウンし、Command+Rを押しながら起動する。
+リカバリー・モードで起動したら、ターミナルを起動し、rEFIndを展開したフォルダーに移動する。
+rEFIndをインストールする。
#geshi(sh){{
# ./refind-install
}}
+macOSを再起動する。


*Ubuntuをインストールする [#kaf52356]

+Ubuntuインストール用のUSBメモリーを接続する。
+macOSをシャットダウンし、Optionを押しながら起動する。
+「EFI Boot」を選択する。
+「Try Ubuntu without installing」を選択し、USBメモリーからUbuntuを起動する。
+起動したUbuntuのデスクトップにある「Install Ubuntu 16.04 LTS」をダブルクリックする。


*Ubuntuをアップデートする [#p5669200]

最新版にアップデートします。

+「システム環境設定」の「ソフトウェアとアップグレード」の「アップデート」にあるUbuntuの新バージョンの通知を「全ての新バージョン」に扁壺する。
+ アップデートする
#geshi(sh){{
$ sudo apt update
$ sudo do-release-upgrade
$ sudo shutdown -r
$ sudo do-release-upgrade -d
$ sudo shutdown -r
}}


*UbuntuにSSHをインストールする [#o92c5b93]

リモートで作業できるように、sshdをインストールします。

+sshをインストールする。
#geshi(sh){{
$ sudo apt-get install openssh-server
}}
+sshが自動で起動するように設定する。
#geshi(sh){{
$ sudo systemctl enable ssh.service
}}
+ Ubuntuを再起動してリモートからsshでログインできるか確認する。

セキュリティのことを考えると、インターネットから見える環境では、rootでのログインはできないようにしておくべきです。


*UbuntuにNvidiaのドライバーをインストールする [#d92792ae]

次のページを参考にしました。
-[[Ubuntu14.04 LTS にGTX1080 をセットアップしたメモ:http://qiita.com/salty-vanilla/items/8ff76cd634f0640b77c7]]

+インストールの準備をする。
#geshi(sh){{
$ sudo add-apt-repository ppa:xorg-edgers/ppa
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get update
}}
+最新版のドライバーを調べる。
#geshi(sh){{
$ sudo apt-cache search 'nvidia-[0-9]+$'
}}
+最新版のドライバーをインストールする。
#geshi(sh){{
$ sudo apt-get install nvidia-378
$ sudo apt-get install mesa-common-dev
$ sudo apt-get install freeglut3-dev
}}

このときは、最新版が378でした。

*Mac ProにASUS TURBO-GTX1080-8Gを装着する [#nd42f38d]

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をインストールする [#k3a0713c]

次のページを参考にしました。
-[[Ubuntu 16.04へのCUDAインストール方法:http://qiita.com/yukoba/items/3692f1cb677b2383c983]]

+Ubuntuを起動する。
+Cudaをダウンロードする
#geshi(sh){{
$ wget https://developer.nvidia.com/compute/cuda/8.0/prod/local_installers/cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
}}
+Cudaをインストールする
#geshi(sh){{
$ sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64-deb
$ sudo apt-get update
$ sudo apt-get install cuda
}}
+.bashrcに以下の2行を追加する
#geshi(txt){{
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
}}


現在、ここまで。
まだTensorFlowは動いていません。
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS