0

VisualStudio 2010 で Cuda プロジェクトを作成しようとしています。配列を取り、そのすべての要素に 1 を追加して結果をホストに返す単純なテスト .cu ファイルを 1 つ作成しました。

cudart.lib ファイルをリンカーに追加しました。

.cu コードに#include cuda_runtime.hヘッダーを含めました。

しかし、コンパイルしようとすると、2 つのエラーが発生します。

エラー C2065 :'threadIdx': 宣言されていない識別子
エラー C2059: 構文エラー:'<'

Nvidia Nsight Visual Studio エディションをインストールし、.cu ファイルのアイテム タイプを CUDA C/C++ に設定すると、2 つの追加エラーが発生し始めます。

エラー D8003: ソース ファイル名がありません

エラー MSB3721: コマンド ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" --use- local-env --cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin" -I"C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\C\common \inc" -I"C:\ProgramData\NVIDIA Corporation\NVIDIA GPU Computing SDK 4.2\shared\inc" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.2\include" -G -- keep-dir "Debug" -maxrregcount=0 --machine 32 --compile -g -Xcompiler "/EHsc /nologo /Od /Zi /MDd " -o "Debug\test.cu.obj" "\ucigrad.local\ Users\AGill\My Documents\Visual Studio 2010\Projects\cudatest\cudatest\test.cu"" はコード 2 で終了しました。

解決方法を教えてください。VS2010 の nvcc コンパイラに問題がある可能性があると思いますが、それを理解することはできません。

4

4 に答える 4

4

私と同じように IDE エラー (エラーなしでコードを動作させることができます) に悩まされている場合は、SDK のインクルード フォルダーで (一見) 未定義のシンボルをプレーン テキストで検索すると、正しいヘッダーが見つかります。すぐに含めることができます。たとえば、「threadIdx」は「device_launch_parameters.h」ヘッダー ファイルにあります。

于 2013-04-06T19:03:53.810 に答える
1

発生するエラーは、CUDAソースをNVCCでコンパイルしていないことを示している可能性があります。ツールキットのインストール時にVisualStudio統合をインストールした場合は、適切なアイテムタイプ(CUDA C / C ++)を選択して、その状態にあることを確認してください。または、ソースに適切なビルドルールを設定していることを確認してください。

于 2012-06-06T05:51:11.363 に答える
0
  1. エラーには、ビルドエラーとIDEエラーの2種類があります。ビルドが成功したかどうかを確認します(IDEエラーは無視できます)

  2. #include "cuda.h"(または山かっこ付き)を試してください

  3. 再構築すると問題が解決することがあります

于 2012-06-07T06:14:28.353 に答える