我是OpenCl的小新手,我想使用ClMagma和opencl内核尝试以下内容:
cl_mem A_k, B_k;
magma_malloc(&A_k, col*row*sizeof(double));
magma_malloc(&B_k, col*row*sizeof(double));
magma_dgemm(MagmaNoTrans, MagmaTrans, row, row, col, alpha, A_k, size, row, A_k, size, row, beta, B_k, size, row, queue);
他们想要在OpenCl内核中使用A_k和B_k,但是如果我使用类似的东西:
status = clSetKernelArg(k_test, 0, sizeof(cl_mem), &A_k);
我收到了" CL_INVALID_MEM_OBJECT"所以我如何在OpenCl内核中使用A_k数组,然后将其移至Host,然后再移至Device(使用clCreateBuffer创建新数组)。
Alredy试过" clEnqueueCopyBuffer"并且没有工作
任何帮助都会得到很大的帮助,谢谢!
答案 0 :(得分:0)
如果遇到与我相同的问题,你可以在这里找到答案: http://icl.cs.utk.edu/magma/forum/viewtopic.php?f=2&t=1351&sid=fa4fe6ef9bbed60604251583dc936d50
(如果任何mod看到这个,你可以关闭这个帖子,thx)