0

現在、Microsoft Windows の CUDA 入門ガイド [ http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-microsoft-windows/index.html ] に従っています。インストールされたCUDA; サンプルと NSight。私はVisual Studio 2010にいます。カードを確認しましたが、CUDA をサポートしています。デモ パーツまでチュートリアルに従いましたが、次のエラー メッセージが表示されます。

================================================== ==================================

1>CudaBuild:
1>  Compiling CUDA source file bandwidthTest.cu...
1>  
1>  C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest>"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin"  -I"./" -I"../../common/inc" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include"  -G   --keep-dir "Debug" -maxrregcount=0  --machine 32 --compile  -g   -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd  " -o "Win32/Debug/bandwidthTest.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest\bandwidthTest.cu" 
1>  bandwidthTest.cu
1>C:/ProgramData/NVIDIA Corporation/CUDA Samples/v5.0/1_Utilities/bandwidthTest/bandwidthTest.cu(117): error : identifier "cin" is undefined
1>  
1>  1 error detected in the compilation of "C:/Users/James/AppData/Local/Temp/tmpxft_00001654_00000000-14_bandwidthTest.compute_35.cpp1.ii".
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\BuildCustomizations\CUDA 5.0.targets(592,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\bin\nvcc.exe" -gencode=arch=compute_10,code=\"sm_10,compute_10\" -gencode=arch=compute_20,code=\"sm_20,compute_20\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" -gencode=arch=compute_35,code=\"sm_35,compute_35\" --use-local-env --cl-version 2010 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin"  -I"./" -I"../../common/inc" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include"  -G   --keep-dir "Debug" -maxrregcount=0  --machine 32 --compile  -g   -DWIN32 -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /Zi /RTC1 /MTd  " -o "Win32/Debug/bandwidthTest.cu.obj" "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v5.0\1_Utilities\bandwidthTest\bandwidthTest.cu"" exited with code 2.
1>
1>Build FAILED.

================================================== ==================================

cin が iostream の一部であることを認めますが、これはコードの include ディレクティブの一部であることを確認しました...

私は Web 開発者のバックグラウンドを持っています。私はめったにこれらの型をプログラムしません...

4

1 に答える 1

2

bandwidthTest.cu ファイルを変更したと仮定していますが、これはバニラの SDK サンプルではありません (簡単なチェックで、デフォルトでは cin を使用していないことがわかります!)。

スコープを明示的に記述するために使用するか、ファイルの先頭 (iostream を含めた後) または関数の先頭に or を追加std::cinする必要があります。using namespace stdusing std::cin

名前空間に関する情報を検索すると、このチュートリアルなど、より多くの背景が得られるはずです。

これが問題でない場合は、コードを投稿してください。

アップデート

あなたのコメントから、あなたの本当の質問は、VS2010 で CUDA プロジェクトを作成する方法です。それについては、この回答を参照してください。基本的に.cuは、プロジェクトでファイルを作成し、Visual Studio にファイルの処理方法を指示する必要があります (つまり、ビルドのカスタマイズを有効にします)。

于 2013-01-15T12:10:09.357 に答える