Mac OS X v10.6 Snow Leopardでnvccを使ったコンパイル(cuda2.3)

cuda開発でかなりはまったのでメモ。


#ヘッダファイルをコピー

cp /Developer/GPU\ Computing/C/common/inc/cutil.h /usr/include/

#ライブラリをコピー

cp /Developer/GPU\ Computing/C/lib/libcutil_i386.a /usr/lib/
cp /Developer/GPU\ Computing/C/lib/libparamgl_i386.a /usr/lib/
cp /Developer/GPU\ Computing/C/lib/librendercheckgl_i386.a /usr/lib/

【追記】上記のコピーはパスの設定とかすればいらなかった

export C_INCLUDE_PATH="/Developer/GPU Computing/C/common/inc":/usr/local/cuda/include:$C_INCLUDE_PATH
export LIBRARY_PATH="/Developer/GPU Computing/C/common/lib":"/Developer/GPU Computing/C/lib":/usr/local/lib:$LIBRARY_PATH


コンパイル時のオプションはネット上で調べていると-lcutilでいけると書いてある説明が多かったけど、Macの環境だと

ld: library not found for -lcutil
collect2: ld returned 1 exit status

が出るので、ライブラリの名前に合わせてみたらコンパイルできた

nvcc  -lcutil_i386 -o cuda4 cuda4.cu


ちなみに私のMacは一世代前のMacBookGPUが搭載されていないので、deviceEmulationモードでコンパイルしないと実行できません

nvcc  -lcutil_i386 -o cuda3 -deviceemu cuda3.cu