我在使用C++綁定編寫OpenCL,試圖製作一個小型庫。OpenCL enqueTask vs enqueNDRangeKernel
NDRange offset(0);
NDRange global_size(numWorkItems);
NDRange local_size(1);
//this call fails with error code -56
err = queue.enqueueNDRangeKernel(kernelReduction, offset, global_size, local_size);
//this call works:
err = queue.enqueueTask(kernelReduction);
現在,錯誤代碼-56是CL_INVALID_GLOBAL_OFFSET。我不知道爲什麼第一個電話會失敗。有什麼建議麼?
您使用的是什麼尺寸?根據OpenCL文檔偏移量需要是一個整數偏移量數組,每個偏移量都對應一個特定的維度,但您的代碼並不是說它使用了多少維度。 – Thomas 2012-03-14 21:30:40
就我所瞭解的C++綁定而言,它是由NDRange初始化器給出的。假設有1個整數,它會假定1維,假設2它假定爲2. – 2012-03-14 22:12:08