LoginSignup
8

More than 5 years have passed since last update.

iMacでgpuモードのchainerを動かしてみた

Last updated at Posted at 2016-03-31

iMac(late 2012)にてchainerをgpuモードで動かす

先日セミナーにてchainerを知り自分でも動かしてみたくチャレンジしてみました。

自宅のiMacはNVIDIAのグラボを載せていたのでどうせならgpuモードで
動かしたかったのですがなかなか成功せず苦労しました。。。

なんとかmnistをgpuモードで動かすことに成功したので、記録として記述します。

以下の内容は2016/3時点の内容です。

環境

マシン : iMac(late 2012)
CPU : Core i7 3.4GHz
メモリ : 24GB
GPU : GForce GTX 680MX
OS : 10.11.4(El Capitan)

pythonのインストール

  • pyenvをインストールしてver 2.7.11をインストール
  • pyenv-virtualenvをインストールしchainer用の環境を作成
  • .bash_profileに以下を記述
.bash_profile
#pyenv
export PATH="\$HOME/.pyenv/bin:\$PATH"
eval "\$(pyenv init -)"
eval "\$(pyenv virtualenv-init -)"

chainerのインストール(cpuモード)

pyenv_virtualenvで作成した環境をdefaultにした前提で

pip install chanier

以上でmnistのサンプルコードをダウンロードしてgpu=-1で実行したところ成功
cpuモードは超簡単!

cudaのインストール

gpuモードで動かすためにcudaをインストールした

  • NVIDIAのサイトからMacOS用をダウンロード(Ver 7.5)
    https://developer.nvidia.com/cuda-downloads

  • 以下のページからcudnnをダウンロード(登録の必要あり)
    https://developer.nvidia.com/cudnn

  • cudaのインストーラを起動してインストール

  • cudnnのファイルを解凍しファイルをコピー
    include -> /Developer/NVIDIA/CUDA-7.5/include
    lib -> /Developer/NVIDIA/CUDA-7.5/lib

  • .bash_profileに以下を記述

.bash_profile
## cuda 7.5
export PATH=/Developer/NVIDIA/CUDA-7.5/bin:/Developer/NVIDIA/CUDA-7.5/bin/nvcc:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
  • chainerを再インストール
pip uninstall chanier
pip install chanier
  • mnistのサンプルコードをgpu=0で実行
     ->失敗(import cupyでエラー)

  • 調べてみたところEl CaptitanではDYLD_LIBRARY_PATHの上書きが有効にならないとの記事をみつけたので、試しにcudaのライブラリを/usr/local/cuda/libにリンクを貼ってみた

-s /usr/local/cuda/lib/* /usr/local/lib
-s /Developer/NVIDIA/CUDA-7.5/lib/* /usr/local/lib[^1]

[^1] /usr/local/cudaと/Developer/NVIDIA/CUDA-7.5のlibをそれぞれリンクしているのは、libフォルダだけ別のファイルが入っているため

  • 再度chainerを再インストールしてコードを実行   >失敗(xcode7.3 のcommand line toolsのバージョンが対応していないっていうエラーっぽい)
"nvcc fatal : The version ('70300') of the host compiler ('Apple clang') is not supported".

XCodeの設定変更

  • Command Line Toolsをダウングレードしたいので、以下のページからxcode ver 6.4をダウンロード
    https://developer.apple.com/downloads/

  • xcode.app(6.4)のパッケージの中のXcodeDefault.xctoolchainフォルダをXcode640.xctoolchainにリネームしてxcode(使ってる新しいやつ)の同じ場所にコピー

xcode64.jpg

  • xcodeを起動して"preferences"-"Locations"の中の"Command Line Tools"のプルダウンを"Xcode 6.4"に変更

  • 再度chainerを再インストールしてgpu=0でコードを実行
     -> 成功!!

まとめ

NVIDIAのGPUを載せたMacならchainerをGPUモードで動かせることが確認できた。
ディープラーニングによく使われるGPUに比べたら非力なGPUだが、それでもCPUよりは高速に学習していて感動でした。
やっと環境が構築できたので、これから中身を触っていこうと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8