CUDAを使ってみる
次はフォトンマッピングをしようかと思ったのですが、気分転換にCUDAを勉強してみようと思います。とりあえずv4.0のSDKをインストールしたあとにハマった点だけ簡易まとめ。
cutil
cutilはDirectXで言うところのDXUTのようなユーティリティのようです。
自分でビルドして使うらしいので、プロジェクトを開いてビルドしておきます。
Visual Studio Integration
rulesファイルのコピー
VS2010で.cuファイルをビルドするためには色々と自分で設定しなきゃならんようです。
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\extras\visual_studio_integration\NvCudaDriverApi.v4.0.rules C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\extras\visual_studio_integration\NvCudaRuntimeApi.v4.0.rules
これらのファイルを次の場所にコピーします。
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCProjectDefaults
プロジェクトの設定
VS2010で新規プロジェクトを作成します。更に、
- メインメニュー
- プロジェクト
- ビルドのカスタマイズ
- プロジェクト
と選択していくと、CUDA v4.0 のチェックボックスがあるので、それにチェックを入れます。
但し、これを選択すると、プロジェクトのプロパティが見れなくなります。更に、ソリューションを閉じて再度開こうとしても、
要素 <UsingTask> 内の属性 "AssemblyFile" の値 "$(CudaBuildTasksPath)" を評価した結果 "" は無効です
といったエラーがでてプロジェクトが読み込めなくなります。
プロジェクトの修正
公式フォーラムの投稿を参考に対処します。vcxprojファイルを開き、次の場所を書き換えます。
look for <ImportGroup Label="ExtensionSettings" /> replace with <ImportGroup Label="ExtensionSettings"> <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 4.0.props" /> </ImportGroup>
これでプロジェクトが読み込めるようになり、CUDA周りの設定が出来るようになります。