0
我有點新手絲毫OpenCL和我想嘗試以下方法,使用ClMagma和OpenCL內核:的OpenCL內核+ ClMagma陣列
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);
而且他們我想用A_k和B_k一個的OpenCL內核裏面,但如果我使用類似:
status = clSetKernelArg(k_test, 0, sizeof(cl_mem), &A_k);
我收到「CL_INVALID_MEM_OBJECT」所以我怎麼可以使用的OpenCL內核whitout移動給主機,然後再設備裏面A_k陣列(製作與clCreateBuffer新的數組)。
Alredy試圖 「clEnqueueCopyBuffer」,並沒有工作
任何幫助將非常apreciated,THX!
magma_dmalloc_pinned可以工作,如果是對齊問題? –
使用固定內存無變化,問題是在OpenCl內核中使用岩漿指針數組...... thx tho – Miguel