search
LoginSignup
14

More than 3 years have passed since last update.

posted at

updated at

Chainer + CuPy を Mac OSX にインストールする

Mac OS X High Sierra に Chainer + CuPy をインストールする。

CuPy (クーパイ)は CUDA (クーダ)の Python ラッパーで、 NumPy の代わりに使うことで GPU で計算出来るようになる。

CuPy解説 - SlideShare で概要を把握。

開発機の場合はGPUパワーよりも「CuPyで動く」という事が重要。一通り実装できたら、ちゃんとしたGPUを積んだマシンで動かすという手順になる。

尚、自分の開発機の場合は、作業開始時点で最新の Xcode と、 Command Line Tools for Xcode をインストール済。その他、brew, python, pip, pyenv などは既に入っている状態だった。

Chainer と CuPy のインストール(今回やりたい事)

pip install chainer
pip install cupy

chainer は問題なかったが、cupy が fatal error: 'cublas_v2.h' file not found で止まった。
先ずは CUDA を入れる必要がある。

CUDAインストール

CUDA を入れる為に、先ずは brew cask を入れる。brew install brew-cask はエラーになるので、homebrew-caskがErrorになると思ったら本家に移行してた - Qiita を参考にインストール。

xcode-select --install

brew uninstall --force brew-cask; brew update
brew tap caskroom/cask

これで brew cask がインストールできたので、続けて CUDA を入れる。

brew upgrade
brew install coreutils
brew install swig
brew install bazel

# brew cask install cuda の代わりに下記
brew tap caskroom/drivers
brew cask install nvidia-cuda

NVIDIAのインストーラが出てくるので、インストールする。
インストールが終わると、システム環境設定に「CUDA」のメニューが追加され、CUDAのバージョンやGPU情報などが確認できるようになる。

Xcode Command Line Tools のダウングレード

再び CuPy インストールを試みる。

pip install cupy

nvcc fatal   : The version ('90100') of the host compiler ('Apple clang') is not supported

今度はコンパイラーのバージョンエラーが出た。nvcc fatal : The version (‘90000’) of the host compiler (‘Apple clang’) is not supported · Issue #137 · fireice-uk/xmr-stak-nvidia によると、自分のXcodeが新しすぎるらしい。

Xcodeのアップデートの度に同じ様なバージョンエラーが出て困る人が居るようだ。NVCC does not support Apple Clang version 8.x · Issue #1384 · arrayfire/arrayfire · GitHub に解決方法が書いてあった。

  1. https://developer.apple.com/downloads/ にログイン
  2. Xcode CLT (Command Line Tools) の前のバージョンをダウンロード(今回は8.3)
  3. Xcode CLT をインストール
  4. sudo xcode-select --switch /Library/Developer/CommandLineTools を実行してバージョンを切り替える
  5. clang がダウングレードされたことを確認する為 clang --version で確認

CLTのバージョン下げると他に影響あるかもしれないが、問題あればアップグレードし直せば良い。(App Store のソフトウェア・アップデートに出て来る)

これでバージョンが clang のバージョンが 8.3 になった。

CuPy インストール

改めて CuPy をインストール。

pip install cupy

10分ほど待つ。

Successfully installed cupy-4.0.0

というメッセージが出て、インストール完了!

これで、eGPU で GeForce を繋げばきっと動く様になる。
参考:MacBook Air(or Pro)でGPUを外付けしChainerを動作させるまでの手順

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
What you can do with signing up
14