__global__ 在 c 函数声明的上下文中意味着什么?

what does __global__ mean in the context of a function declaration in c?

我正在阅读一个 C 程序,其中的函数声明如下:

__global__ void square(float *d_out, float *d_in);

__global__ 说明符是什么意思?

它不是标准的 C,只是一些扩展或 #define

看起来像 CUDA。

__global__函数在GPU上执行,可以从CPU或GPU中调用。

调用 __global__ 函数通常比 __device__ 更昂贵。

如果它是 #define,请使用 -E (gcc) 或类似选项编译该文件,并查看该宏是如何扩展的。