我希望有人能幫助我解決這個問題。更改OpenCL內核中數組的大小
我需要通過使用這樣的事情表示矩陣在OpenCL內核多頭排列:
memObjects[2] = clCreateBuffer(context, CL_MEM_READ_WRITE | CL_MEM_COPY_HOST_PTR,
sizeof(double) * dets_numel, dets, NULL);
內核裏面我想刪除這取決於一些條件矩陣的一些行,然後閱讀回主機使用類似:
errNum = clEnqueueReadBuffer(commandQueue, memObjects[2], CL_TRUE, 0,
dims1[0] * dims1[1] * sizeof(double), dets,
0, NULL, NULL);
有沒有辦法讓程序的主機部分知道數組(矩陣)的確切大小,不執行另一個內核,將計算的規模和閱讀從緩衝區返回到主機T'
即使你找到了一個工作解決方案,你最好不要在內核中執行它。對於線性CPU而言,這比並行GPU更好。 – Daniel