CUDA中所有线程的全局变量

Hay*_*yan 1 cuda boolean global-variables

我需要在我的控制台应用程序中使用全局bool变量,那么如何声明呢?

Cyg*_*sX1 6

为了声明一个驻留在CUDA全局内存中的变量,你需要__device__在它前面放置关键字,例如

__device__ bool myGlobalBoolVar;
Run Code Online (Sandbox Code Playgroud)

或者,您可以在全局内存空间中分配内存cudaMalloc,例如

bool* myGlobalBoolVarPtr;
cudaMalloc(&myGlobalBoolVarPtr, sizeof(bool));
Run Code Online (Sandbox Code Playgroud)

然后你可以将指针作为参数传递给内核.注意,指针参数本身将驻留在常量或共享内存空间中(取决于体系结构),但它将指向全局内存.