我正在尝试将CUDA文件添加到现有的C ++ Visual Studio项目中。我安装了CUDA 5.0 SDK,我创建了一个新的.cu文件,并在CUDA文件属性中将其Item Type设置为CUDA / C ++。但看起来它只是不编译给出错误,表示编译器无法识别CUDA关键字。我得到的一个错误是:
错误C2065:'threadIdx':未声明的标识符
有什么建议吗?
答案 0 :(得分:5)
目前我无法完成所有这些工作,但我认为这些步骤是必要的:
答案 1 :(得分:3)
我发现执行此操作的最佳方法是在现有CPU项目中执行以下操作
1)构建依赖关系 - >构建自定义
点击Cuda复选框
2)使用向导创建一个新的简单CUDA项目(无论如何你可能想先测试你的CUDA项目构建正常),将两个项目加载到IDE中然后比较两个项目之间的设置,你需要添加 项目设置中的以下内容
$(CudaToolkitLibDir)到其他库设置(链接器选项卡) $(CudaToolkitIncludeDir)到其他包含目录(c ++标签)
cudart.lib到其他依赖项(链接器选项卡)
然后比较CUDA标签
我发现由于某种原因已经为目标机器架构预先选择了32位,因此我将其更改为64位。
在此之后,我将预定义_CUDA_CODE_COMPILE_添加到预处理器定义,以在CUDA或CPU编译之间切换。
#ifdef _CUDA_CODE_COMPILE_
cudaCodeFunction();
#else
cpuCodeFunction();
#endif
不理想但必要,因为似乎没有设置任何定义来指示NVCC已安装(除执行shell命令外!)
答案 2 :(得分:0)
您必须为.cu文件选择正确的编译器
您是否正在关注如何在visual studio上设置它的任何教程?
http://blog.norture.com/2012/10/gpu-parallel-programming-in-vs2012-with-nvidia-cuda/
答案 3 :(得分:0)
This video 可能会有所帮助。
此视频来自 CoffeeBeforeArch YouTube 频道。
他经历了每一步: