sein's blog

ディープラーニング, 人工知能, 自然言語処理 ~ Deep Learning, AI, NLP ~

【PyCUDA環境構築その3】 MacにCUDA8をインストール

注意 この記事はNVIDIAGPUを搭載していないMacbookは対象外です。

Macbook ProにCUDA8.0をインストールする手順を説明します。CUDAはNVIDIAが提供するGPGPUのためのライブラリ、コンパイルなどの統合開発環境です。要はNVIDIA製のGPUを使って並列計算するためのツール群です。

この記事は、PyCUDAでDeep LearningをするためのMac環境構築その3です。PyCUDAがCUDAを必要とするためCUDA8.0をインストールします。

開発環境

使用したMacbook Proのスペックは以下の通り。
Macbook Pro, 2014 Mid
MacOS Sierra 10.12.6
Core i7 2.8GHz/16GBメモリ
NVIDIA GeForce GT 750M 2GB GDDR5
Xcode 8.3.2 & Command Line Tools
Xcode 7.3.1 & Command Line Tools

CUDAをダウンロード及びインストール

CUDA Toolkit Download | NVIDIA DeveloperからOS、バージョンを選んでパッケージをダウンロードします。インストーラーの指示通りインストールします。

CUDAをアップデート

MacOSシステム環境設定からCUDAを選んでInstall CUDA Updateをクリック

cudnnをインストール

NVIDIA cuDNN | NVIDIA Developerからcudnnをダウンロードします。メンバー登録が必要な場合があります。

ダウンロードしたcudnn-8.0-osx-x64-v6.0.tgzを解凍します。

# tar zxvf cudnn-8.0-osx-x64-v6.0.tgz

ファイルをシステムにデプロイします。

# sudo mv <解凍フォルダ>/lib/libcudnn* /usr/local/cuda/lib
# sudo mv <解凍フォルダ>/include/cudnn.h /usr/local/cuda/include

DYLD_LIBRARY_PATHとPATHを設定

.bashrcに追加します。

export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:/Developer/NVIDIA/CUDA-8.0/lib:$DYLD_LIBRARY_PATH
export PATH=/Developer/NVIDIA/CUDA-8.0/bin:$PATH

変更内容を反映。

# source .bashrc

常にNVIDIA GeForceを使用するように設定

Macbook Proには省電力のためにGPUが自動で切り替わるモデルがあります。常にNVIDIAGPUが使われるように設定を変更します。
[システム環境設定]-[省エネルギー]-[グラフィックスの自動切り替え]オフ

Xcode7に切り替え

CUDA8はXcode8に対応していません。Xcode7.x (執筆時Xcode7.3.1が最新)およびCommand Line Toolsが必要となります。Xcode8とXcode7をインストールしている場合は、xcode-selectコマンドでXcode7に切り替えます。わからない場合は、下のエントリーを参考にしてください。

[PyCUDA環境構築 その2] Xcode7とXcode8を共存させて、切り替える方法

CUDAサンプルプログラム

サンプルプログラムでインストールを確認できます。ただしコンパイルに時間が結構かかります。

# /Developer/NVIDIA/CUDA-8.0/bin/cuda-install-samples-8.0.sh ~/Downloads
# cd ~/Downloads
# make -C 1_Utilities/deviceQuery
# 1_Utilities/deviceQuery/deviceQuery
# make -C 5_Simulations/smokeParticles
# 5_Simulations/smokeParticles/smokeParticles

コンパイルエラーが出る場合は、Xcodeの切り替えDYLD_LIBRARY_PATHPATHの設定、省エネルギーの設定を疑ってみてください。