我对 OpenCL 很陌生。我的 OpenCL 代码非常简单。它包含 2 个函数,其中 __kernel-functions 调用另一个(非内核)函数。我想将数组传递给这个函数,但是当我这样做时,我的函数(add)总是返回 0。完整的数组是 0。但是当我在内核函数中访问相同的索引时,结果与预期的一样。 . 这是我正在使用的代码:
int add(__global int * numArray) {
return numArray[1]+numArray[2];
}
__kernel void sum(__global int * numArray, __global int * result) {
result[get_global_id(0)] = numArray[0] //
result[get_global_id(0)] = add(numArray); // = 0
}
我在这里做错什么了吗?