超简单程序:
#include "cuda_runtime.h"
#include <iostream>
__global__ void kernal_function()
{
}
int main(void)
{
kernal_function<<<1,1>>>();
return 0;
}
不会编译,因为编译器不知道<<<>>>
是什么(错误:应为表达式,语法错误:"<"(。
我如何让编译器理解这(<<<>>>
(是什么?
三尖括号语法<<<...>>>
特定于CUDA。它不是C或C++标准的一部分。它将被nvcc
识别,但不会被gcc
或任何其他"经典"编译器识别。
您可以通过以下方式构建CUDA运行时程序:
nvcc main.cu -o my-program