以下 opencl 代码无法编译。
typedef struct {
double d;
double* da;
long* la;
uint ui;
} MyStruct;
__kernel void MyKernel (__global MyStruct* s) {
}
错误信息如下。
line 11: error: kernel pointer arguments must point to addrSpace global, local, or constant
__kernel void MyKernel (__global MyStruct* s) {
^
正如你所看到的,我已经清楚地用 '__global' 限定了这个参数,因为错误表明我应该这样做。我做错了什么,我该如何解决这个错误?
显然这发生在内核编译期间,所以我没有在这里发布我的主机代码,因为它甚至没有比这更进一步。
谢谢。