Visual Studio用のHLSLアドオンが存在します。InteliShadeです。IntelliSenseはlが2個。InteliShadeはlが1個。まぎらわしいw

http://intelishade.net/

HLSLだけですが、インテリセンスっぽく働きます。かなり、いい感じですね。

ただ、私はCgfx派なんで、.fxだけじゃなく、.cgfxでも働いてほしいわけです。そこでレジストリをいじります。

レジストリの変更は自己責任でお願いいたします。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Languages\File Extensionsには、.fxの拡張子に指定されている値a32b9340-09f7-4535-8f15-c79fc1845ddfがあります。.cgfxを新しくキーを作り、値として.fxにある値をコピーします。

これで、Cgfxでインテリセンス(もどき)が働きます。すげー。今のところ(v 3.1)ではGeometry Shaderには対応してないようです。

Visual Studioで、CUDA開発できる環境を構築する手順メモ。CUDA 2.2, Visual Studio 2008でのお話。

☆CUDA ToolKit, CUDA SDK

http://www.nvidia.com/object/cuda_get.htmlからCUDA ToolKitとCUDA SDKをダウンロードして、インストール。環境変数CUDA_BIN_PATH, CUDA_INC_PATH, CUDA_LIB_PATHにそれぞれ実行時パス、インクルードパス、ライブラリのパスが入っているので、Visual Studioのオプションからパスを通す。必要に応じて、CUDASDK_ROOT\common\incCUDASDK_ROOT\common\libにもパスを通す。

☆Syntax Highlighting

シンタックスハイライトは、CUDA SDKのインストールフォルダ以下の、NVIDIA Corporation\NVIDIA CUDA SDK\doc\syntax_highlighting\visual_studio_8あたりにあるusertype.datを使います。このファイルを\Program Files\Microsoft Visual Studio 9.0\Common7\IDEに放り込みます。んで、Visual Studioでオプション -> テキストエディタ -> ファイル拡張子で、拡張子にcuを入れてMicrosoft Visual C++のエディタとしてセット。

☆カスタムビルド規則

CUDAのプロジェクトを作るのはめんどくさい。手っ取り早いのは、CUDA VS Wizardを使う方法。SourceForgeからダウンロードしてインストールすると、Visual Studioでプロジェクト作成のときにCUDA Projectが選べるので、それを利用する。

カスタムビルド規則のルールファイルは\Program Files\Microsoft Visual Studio 9.0\VC\VCProjectDefaultsにあるCuda.rules。違うパソコンでソリューションを開くときにはこれがなかったり違ったりすると怒られます。

☆InteliSense

レジストリの変更は自己責任でお願いいたします。

公式にアナウンスされている方法ではありませんが、かろうじてインテリセンスを働かせる方法があります。レジストリのHKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\Languages\Language Services\C/C++にあるNCB Default C/C++ Extensionsのキーに;.cu;.cuhを加えてください。

参考リンク:
http://www.bv2.co.uk/?p=730

PS:

研究室ではGeforce GTX 280使ってるんですが、家でも開発できたらいいなぁ…ということで、買っちゃいました。GTS 250。さすがにGTX 280には劣りますが、かなり快調に動いております。