CUDA执行配置语法…如何让编译器识别它?

CUDA执行配置语法…如何让编译器识别它?,cuda,Cuda,超级简单程序: #include "cuda_runtime.h" #include <iostream> __global__ void kernal_function() { } int main(void) { kernal_function<<<1,1>>>(); return 0; } #包括“cuda_runtime.h” #包括 __全局函数() { } 内部主(空) { 核函数(); 返回0; } 不

超级简单程序:

#include "cuda_runtime.h"
#include <iostream>

__global__ void kernal_function() 
{

}

int main(void) 
{
    kernal_function<<<1,1>>>();

    return 0;
}
#包括“cuda_runtime.h”
#包括
__全局函数()
{
}
内部主(空)
{
核函数();
返回0;
}

不会编译,因为编译器不知道什么是<代码> >代码>(错误:预期表达式和语法错误:‘< P>三角括号语法<代码> <代码> > CUDA。它不是C或C++标准的一部分。它将被代码< NVCC < /代码>所识别,但不是由<代码> GCC < /C>或任何其他“经典”编译器。

您可以通过以下方式构建CUDA运行时程序:

nvcc main.cu -o my-program

将显示的代码放在扩展名为
.cu
的文件中,并使用
nvcc
进行编译。不会出现任何错误。如果这是在visual studio中看到的内容(例如红色下划线)这是intellisense的产物,而不是实际的编译器。通过适当的CUDA项目、CUDA在VS上的安装和文件扩展名,您也可以在visual studio中很好地编译此代码。我使用的是visual studio,所以关键在于添加CUDA代码文件(而不仅仅是将.cpp重命名为.cu)。如果我在Visual Studio之外使用nvcc,可能会起作用,但我没有尝试。如果你回答这个问题,我可以接受。否则Robin的答案也很好。如果你对答案感到满意,请随意接受。有没有办法让Visual Studio理解此语法?这会在瞬间抛出一个错误。安装插件uld实现此目标。理想情况下,请按照下载和安装所有相关CUDA工具/依赖项,以便在Windows计算机上开发/调试CUDA软件。