CUDA __syncthreads() 编译正常,但带有红色下划线

use*_*996 4 cuda visual-studio-2010

我已经使用 CUDA 4.2 一周了,但遇到了一些问题。当我编写 __syncthreads() 函数时,它会带有下划线,看起来是错误的......

然后,如果我将鼠标放在该函数上,则会出现一条消息:

标识符 __syncthreads(); 未定义。

但是当我编译我的项目时,输出表单构建显示:

========== 构建:1 成功,0 失败,0 最新,0 跳过 ==========

所以我猜一切正常,但 Visual Studio 强调该函数的事实让我感到困惑......我怎样才能让 Visual studio 知道这个函数是在编译过程之前定义的?

注意:内核调用也会发生同样的情况: kernel<<<...,...>>> 其中第三个“<”也带有红色下划线...

我知道这可能是一个小问题,但我想解决它......非常感谢!我在 win7 上使用 Visual Studio 2010 以及 Cuda 4.2 和 Nsight 2.2

use*_*275 5

我将以下几行添加到 cu 文件的顶部,它开始识别这些函数。由于某种原因,Intellisense 没有识别这个#define:

#ifndef __CUDACC__  
    #define __CUDACC__
#endif
Run Code Online (Sandbox Code Playgroud)

我在代码中丢失了一些颜色编码,但我不再遇到奇怪的误报错误。