如何在Visual Studio 2010中设置CUDA编译器标志?

时间:2013-01-19 05:30:33

标签: visual-studio-2010 cuda compiler-flags

持续获得error : identifier "atomicAdd" is undefined之后,我发现解决方案是使用-arch sm_20标志进行编译。但是如何在VS 2010中传递这个编译器标志?我在Project > Properties下尝试过这样做:

enter image description here

但这显然没有效果,错误仍然存​​在 - 我做错了什么?

非常感谢。

3 个答案:

答案 0 :(得分:13)

您可以在此对话框中选择GPU代码生成选项:

GPU Code Generation

在这种情况下,“compute_20”表示我正在为虚拟计算架构2.0进行编译 - 虚拟架构会影响PTX生成阶段。

昏迷之后的第二部分是“sm_21”。这会影响CUBIN的生成阶段。它定义了我想要将PTX编译为的真正GPU架构。

您可以找到控制代码生成的{nvcc命令行参数here的详细说明。

答案 1 :(得分:2)

转到“CUDA C / C ++”下的“设备”部分。在“代码生成”中,您可以指定sm_20。不需要-arch

答案 2 :(得分:2)

请注意项目和.cu文件都有单独的属性。显然他们在编译之前就已经合并了。

我为此尝试为计算3.0和版本指定GPU而感到困惑。更大,但.cu属性有一些剩余的1.0& 2.0