将cuda文件添加到visual studio中的现有c项目中

时间:2013-07-18 03:59:09

标签: c++ visual-studio-2010 cuda

我正在尝试将CUDA文件添加到现有的C ++ Visual Studio项目中。我安装了CUDA 5.0 SDK,我创建了一个新的.cu文件,并在CUDA文件属性中将其Item Type设置为CUDA / C ++。但看起来它只是不编译给出错误,表示编译器无法识别CUDA关键字。我得到的一个错误是:

错误C2065:'threadIdx':未声明的标识符

有什么建议吗?

4 个答案:

答案 0 :(得分:5)

目前我无法完成所有这些工作,但我认为这些步骤是必要的:

  1. 在Project Explorer Build中右键单击Project ...(自定义?)[我的版本是德语。我无法准确地告诉关键字,但它有关于"构建......"的内容。你需要检查" CUDA 5.0"这里。
  2. 设置"其他包含目录"对于Cuda in" General"编译器选项的选项卡(项目属性)。
  3. 将cuda libfile添加到"附加依赖项"在"输入"链接器的标签。
  4. 将文件标记为Cuda文件(您已完成此操作)。

答案 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 频道。
他经历了每一步:

  1. 创建一个空的 C 项目。
  2. 更改构建依赖项。
  3. 在解决方案属性的链接器部分添加某些库。