memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

Snow Leopard(10.6.1) x MacBookPro5,5 x CUDA2.3a でやっと動作した。

nVIDIAが提供するGPUプログラミング環境CUDA、Macに乗り換えてから俺には関係ないと思いパスしてました。macbook proを入手して。。。あっこれってnVIDIA GeForceだったよなぁ。。。CUDAで遊べる?


そう思い昨夜からごそごそ調べていました。ツールキット、SDK、ドライバなど入れてみたもののコンパイルエラー。。。諦めかけてたところでnVIDIAのフォーラムでこちらのエントリーを見つけて解決しました。Googleで検索して和洋いろいろな書き込みを見つけて片っ端から試してみたのですが情報が古いらしく時間を費やしました。最終的にはfjfさんのこちらの情報で解決方法がやっとわかりました。


現状、以下の手順がオススメです。


■ステップ0.恐らく、ここにたどり着いた方は既に何回もCUDAをインストール済みのはず。その人はステップ0をやって残骸を消しましょう。

sudo rm -r /usr/local/cuda
sudo rm -r /Developer/GPU Computing
sudo rm -r /System/Library/StartupItems/CUDA
sudo rm -r /System/Library/Extensions/CUDA.kext


■ステップ1.3つのファイルをnVIDIAからDLします。

CUDA Driver 2.3.1a

CUDA Toolkit 2.3a

CUDA SDK 2.3a


■ステップ2.3つのファイルを順次インストールしていきます。ここでインストールする順番が大切です。以下の順番を間違えたときはステップ0に戻ってやり直した方が早いと思います。

Toolkit → Driver → SDK


■ステップ3.最後の仕上げにサンプルコードのコンパイルです。ターミナルを起動して以下のコマンドを入力してください。

cd /Developer/GPU Computing/C
make i386=1 x86_64=0


最後に「Finished building all」と出ればめでたしめでたしです。あとは実行して遊んでみましょう。実行ファイルは「/Developer/GPU Computing/C/bin/darwin/release」に入っています。*1


ちなみに以下はサンプルプログラムの1つ(nbody)です。Processingでもできないことはないでしょうけどコレだけ高速にはいかないでしょうね。。。ProcessingでGPUプログラミングもできるようになるとこれまた面白いでしょうね。まずは勉強です。

*1:ちなみにOpenCL版のサンプルは「/Developer/GPU Computing/OpenCL」に入っているようです。こちらは単純に「make(エンターキー)」でコンパイルできます。