openCL / PyopenCL:我需要访问作为参数传递的数组元素

时间:2018-06-28 18:50:23

标签: opencl pyopencl

我的代码运行如下代码:

start[i]

我不确定我是否正确引用了全局数组q_space中的值。

我已经验证了循环正确地遍历了所有值,并且所有其他值都按预期进行了评估。

但是-当我添加引用q_space中的位置时,它返回错误的结果。

我一直在这里尽可能紧密地声明设备空间中的所有参数: https://github.com/HandsOnOpenCL/Exercises-Solutions/blob/master/Solutions/Exercise06/Python/matmul.py

__kernel void q_ij(
        const int N,
        __global float* q_array,
        __global float* q_space)
{
int m;
int n;
int i = get_global_id(0);
int j = get_global_id(1);
float tmp_q = 0;
if ((i < N) && (j < N))
         tmp_q = 0.0f;
     for(m=j;m<i+1;m++)
     {
             for(n=0;n<j;n++)
             {
                     tmp_q +=  q_space[m] * q_space[n]; \\I'm pretty sure this is where the issue is occuring
             }
     }
    q_array[i*N + j] = (float) tmp_q;
}
}

0 个答案:

没有答案