如何声明一个对 OpenCL 中的所有线程都是全局的设备变量?我正在将一些代码从 CUDA 移植到 OpenCL。在我的 CUDA 实现中,我有类似的东西
...
...
__device__ int d_var;
...
...
void foo() {
int h_var = 0
cudaMemcpyToSymbol(d_var, h_var, sizeof(int));
do{
//launch kernel, inside kernel d_var is modified
cudaMemcpyFromSymbol(h_var, d_var, sizeof(int));
}while(h_var != 0);
}
我一直在阅读 OpenCL 示例代码,但无法弄清楚如何做到这一点。任何建议都会很棒!