2009年1月20日火曜日

CUDAをコマンドラインから使えるようにしよう

VisualStudioが意味フなのでWindowsでもコマンドラインから使えるようにしたいなぁと。どうせ本番はLinux機の可能性100パーですし。
ちなみにOSはWindowsXPです。
コマンドラインから使えるようにするには環境変数をいろいろいじらんとあかんみたいだ。
先人の知恵がつまった参考文献3つで言っていることが違うぜ、どうしよう
http://tech.ckme.co.jp/cuda_inst.shtml
http://exth.net/~ohshima/wordpress/2007/10/30/5/
http://chihara.naist.jp/people/STAFF/imura/computer/OpenGL/cuda1/disp_content

環境変数INCLUDEなるものが見当たらないので、まず真ん中の人がやっているのと同様に、システムのPATHをいじることにする。
とりあえずPATHに


C:\Program Files\Microsoft Visual Studio 8\VC\bin;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\NVIDA Corporation\NVIDA CUDA SDK\common\lib


を足してみる。
で、昨日ためして動いたbandWidthTest.cuをコンパイルして実行すべく


nvcc -o test.exe bandWidthTest.cu -I"C:\Program Files\Microsoft Visual Studio 8\VC\include" -I"C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\common\inc" -L"C:\Program Files\Microsoft Visual Studio 8\VC\lib" -L"C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\common\lib" -lcutil32


てなバッチファイルを作って投下。
test.exe無事生成
が、cutil32.dll見つからないというエラーメッセージ出て動かず

そこで最後の文献を参考にして
C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\common\lib\cutil32.dllをC:\Windows\system32へコピーすると動いた…いいのかこれで?
たぶんファイル構造をつらつら見るに、
C:\Program Files\NVIDIA Corporation\NVIDIA CUDA SDK\bin\win32\Release
にPATH通しといても同様に動くはず。このwin32\Releaseやwin32\DebugはVisualStudioのコンパイラ経由でDebugなりReleaseなりするときに必要なDLLとかを全部ほりこんであるぽいのでPATH通しとくのがいいんじゃないかなぁ。やっとこ

なんにしろ無事うごいたっぽいのでCUDAが出始めのころに試して記録を残してくれた先人たちに感謝感謝。

0 コメント: