我的控制台应用程序中需要全局bool变量,所以如何声明它?
答案 0 :(得分:6)
为了声明一个驻留在CUDA全局内存中的变量,您需要在其前面加上__device__
个关键字,例如
__device__ bool myGlobalBoolVar;
或者,您可以使用cudaMalloc
在全局内存空间中分配内存,例如
bool* myGlobalBoolVarPtr;
cudaMalloc(&myGlobalBoolVarPtr, sizeof(bool));
然后您可以将指针作为参数传递给内核。注意,指针参数本身将驻留在常量或共享内存空间中(取决于体系结构),但它将指向全局内存。