#contents
#br

*Visual Studioの設定 [#aa87008f]
-追加のインクルードディレクトリ
    $(CUDA_INC_PATH)
    [SDKインストールフォルダ]\C\common\inc 
-追加のライブラリディレクトリ
    $(CUDA_LIB_PATH)
    [SDKインストールフォルダ]\C\common\lib 
-追加のライブラリ
    cudart.lib
    cutil32.lib

*キーワード色分けの設定 [#x6d205da]
+Visual Studio用キーワードファイル "usertype.dat" が
 [SDKインストールフォルダ]\C\doc\syntax_highlighting\visual_studio_8
にあるので(VS2003ならパスの最後がvisual_studio_7),
Visual Studioインストールフォルダ内のCommon\IDEにコピーする.
もし,usertype.datが既にある場合は,その末尾に追加する.
+Visual Studioを起動し,「ツール」->「オプション」のダイアログから,
「テキスト エディタ」->「ファイル拡張子」をクリックし,
拡張子にcuやcuh,エディタにMicrosoft Visual C++として,追加する.
+Visual Studioを再起動し,cuファイルを開いてキーワードが色分けされていればOK.

*CUDA Build Ruleの設定 [#me49ee9d]
CUDAソースコード(*.cu)は,CUDAコンパイラ(nvcc)でコンパイル後,
Visual Studioでコンパイルされたホスト側プログラムにリンクされます.*.cuファイルをプロジェクトに追加後,そのプロパティで
環境に合わせた以下のようなカスタムビルドステップを設定するのですが,
 "$(CUDA_BIN_PATH)\nvcc.exe" -ccbin "$(VCInstallDir)bin" -m32 -c -DWIN32 -D_CONSOLE -D_MBCS -Xcompiler /EHsc,/W3,/nologo,/Wp64,/O2,/Zi,/MT 
  -I"$(CUDA_INC_PATH)" -o $(ConfigurationName)/$(InputName).obj $(InputFileName)
ここではより簡単にこれらの設定を行えるようにCUDA Build Ruleをプロジェクトに設定する手順を述べます.

***Visual Studio全体で使用できるようにする方法(環境依存) [#k071cff4]
+Cuda.RulesファイルをSDKのインストール先から,
 [SDKインストールフォルダ]\C\common\Cuda.Rules
をVisual Studioインストールフォルダ\VC\VCProjectDefaults\ にコピーする.
+設定したいプロジェクトを選択して,「プロジェクト」メニュー->「カスタムビルド規則」をクリック,
「Visual C++ 規則ファイル」ダイアログ(下図)の使用できる規則ファイルのところに「CUDA Build Rule v*.*.*」があるので,
チェックする.
CENTER:&ref(cuda_build_rule_1.jpg);
+cuファイルのプロパティで"CUDA Build Rule v*.*.*"が設定されていることを確認する.

***プロジェクトファイルごとに設定する方法(環境非依存) [#zaa682c5]
+Cuda.RulesファイルをSDKのインストール先から,
 [SDKインストールフォルダ]\C\common\Cuda.Rules
をVisual Studio プロジェクトファイル(*.vcproj)と同じフォルダにコピーする.
+*.vcprojファイルをテキストエディタなどで開き,ToolFilesタグを以下のように書き換える.
  <ToolFiles>
    <ToolFile
      RelativePath="cuda.rules"
    />
  </ToolFiles>
+Visual Studioソリューションを開き,*.cuファイルのプロパティに"CUDA Build Rule v*.*.*"が設定されていることを確認する.

CENTER:&ref(build_rule_1.jpg);

CUDA Build RuleのAdditional Include DirectoriesやCompiler Outputなどを適切に設定してください.
プロジェクトのデフォルトの設定はプロジェクトのプロパティで設定できます.
他のcuファイルからインクルードされているファイル(kernelを記述したファイルなど)については,
そのプロパティで「ビルドから除外」を"はい"にします.

*インテリセンスをcuファイルでも有効に [#c168b5de]
レジストリエディタ(regedit.exeなど)から,Visual Studio 2005の場合,
 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Languages\Language Services\C/C++
visual studio 2008なら
 HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Languages\Language Services\C/C++
の中の値
 NCB Default C/C++ Extensions
にデータとして,
 .cu;.cuh;
を追加する.一旦ログオフし,ログオン後,Visual Studioを起動して,cuファイルでインテリセンスが聞いてればOK.

Visual Studio 2010ではレジストリの変更の必要はない.
Visual Studio 2010を開いて,ツールメニューからオプションを開く.
-プロジェクトおよびソリューション -> VC++プロジェクトの設定 -> 含める拡張子
に .cuや.cuhを追加する.



トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS