直接の質問:Visual Studio 2010内で簡単なhello world CUDAプロジェクトを作成するにはどうすればよいですか?
背景:CUDAカーネルを作成しました。私はVisual Studio 2005の.vcprojファイルに精通しています-手作業でいくつか調整しました。 VS 2005では、CUDAカーネルをビルドする場合、カスタムビルドルールを追加してから、nvcc呼び出しを明示的に定義してファイルをビルドします。
本当にnSightを試してみたいので、Win 7とVS 2010に移行しました。 nSight 1.5がインストールされています。しかし、これは私が完全に迷っているところです。以前と同様に続行すると、nvccはmsvc 8.0および9.0のみをサポートすることを報告します。しかし、ウェブサイトはそれがVS 2010をサポートすることを明確に述べています。
VS 2008(msvc 9.0)もインストールする必要がある別の場所、つまりWordを読みました。今そうする。
しかし、私の問題の少なくとも一部は、自社開発のカスタムビルドツールの仕様に起因していると思います。 Severalwebsites * .rulesファイルをビルドに追加することについて話しますが、これはVS 2008にのみ適用されると収集しました。「ビルドのカスタマイズ」の下にCUDAが表示されます3.1と3.2ですが、プロジェクトにカーネルを追加すると、ビルドされません。 別のウェブサイト キーが3つのファイルであることを宣言します:Cuda.props Cuda.xml Cuda.targetsしかし、それはしませんこれらのファイルを追加する方法または場所を言ってください。あるいは、ウェブサイトで参照されているメモが理解できないことをギャンブルします。
Soは、nSight 1.5セットアップまたはNvCudaRuntimeApi.v3を使用して、CUDAカーネルを構築する単純なプロジェクトをVS 2010で作成する方法を知っていますか? 2.CUDA 3.2 RCに同梱されているルールファイル?
前もって感謝します!賞金を差し上げますが、合計65ポイントしかありません。
CUDA TOOLKIT 4.0以降
(Program Files\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations
ディレクトリにインストールされている)ビルドカスタマイズファイルは、プロジェクト内の.cuファイルをコンパイルしてアプリケーションにリンクする方法をVisual Studioに「教えます」。カスタマイズのインストールをスキップすることを選択した場合、またはCUDAの後にVS2010をインストールした場合は、Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.0\extras\visual_studio_integration
の指示に従って後でカスタマイズを追加できます。
.cu
ファイルを追加した場合、.cu
ファイルのタイプをCUDA C/C++
に設定する必要があります(ファイルを右クリックして、Properties、setアイテムタイプ)cudart.lib
を追加の依存関係)ちなみに私は可能であればcutilを避け、代わりに独自のチェックを行うことを推奨します。 CutilはNVIDIAでサポートされていません。これは、SDKの例を実際のプログラムとアルゴリズムの設計に焦点を合わせたままにし、すべての例で同じことを繰り返さないようにするために使用されます(例:コマンドラインの解析)。あなたがあなた自身のものを書くならば、あなたははるかに優れたコントロールを持ち、何が起こっているかを知るでしょう。たとえば、cutilSafeCall
ラッパーは、関数が失敗した場合にexit()
を呼び出します。実際のアプリケーション(サンプルではなく)は、おそらくよりエレガントに失敗を処理する必要があります。
[〜#〜]ノート[〜#〜]
要素の「AssemblyFile」属性の値「$(CudaBuildTasksPath)」を評価した結果「」は無効です
ここに別の良いチュートリアル:
http://www.stevenmarkford.com/installing-nvidia-cuda-with-visual-studio-2010/
「<」に関するエラーが発生した場合は、このステップをメモしてください(以前の回答から):
ビルドのカスタマイズの前に.cuファイルを追加した場合、.cuファイルのタイプをCUDA C/C++に設定する必要があります(ファイルを右クリックして、プロパティ、設定アイテムタイプ)
しかし、あなたが彼らのステップに従えば、それはうまくいくはずです!
この回答はCUDA 3.2に適用され、4.0以降はCUDAがVC 10コンパイラを直接サポートします。詳細は他の回答を参照してください
VS 2008または6.1 Windows SDKをインストールする必要があります。これは、NSight 1.5 RCまたはCUDA 3.2 SDKが内部でVC 9コンパイラを使用しているためです。2008がインストールされていればこれで問題なく動作し、SDKでも動作するはずですが、試しました。
NSight 1.5やCUDA 3.2 SDKを使用すれば、カスタムビルドルールを変更する必要はありません。私はそこに行って、それは痛いです。最新のビルドでは、すべてがなくなります。
ビルドするだけです。これが役立つかどうか、これがメモリにあるため問題が発生したかどうかをお知らせください。
CUDAとVS 2010を連携させる良いニュースは、はるかに簡単になりました。
アデ
ところで:私は私のブログの投稿を更新します。