2014-03-30 41 views
0

我在opencl中引用一个变量时遇到了麻烦,因为没有明确的例子表明这是否可以完成。如何在opencl中引用变量?

我有一个变量,“double foo”,我有一个指针“double * fooptr”。我想让指针保存foo的地址。 OpenCL有可能吗?

double foo=//some value 
double* fooptr; 
fooptr=&foo; 

我可以在OpenCL中做到这一点吗?

+0

是的,它的工作原理。你试过了吗? OpenCL C中不允许的指针是函数指针。 – Dithermaster

+0

我还没有尝试过,但听起来不错,我会用这个方案编写内核。 – jas

+0

是的,这是有效的。非常感谢。 – jas

回答

0

指针在OpenCL中工作,但不能将指针从主机代码传递到客户端代码(在CL设备上运行的代码)。这很有意义,因为你的GPU显然不能引用CPU的内存,因为它有自己的专用内存 - 它具有完全不同的地址空间。

你在哪里试图执行此操作?它应该在你的内核代码中运行良好。