みなさん、こんにちは....
私はopenclを初めて使用し、@ itをもっと探求しようとしています。
openCL プログラムでの local_work_size の働きと、それがパフォーマンスに与える影響について教えてください。
私はいくつかの画像処理アルゴリズムに取り組んでおり、私が与えたopenCLカーネルのために
size_t local_item_size = 1;
size_t global_item_size = (int) (ceil((float)(D_can_width*D_can_height)/local_item_size))*local_item_size; // Process the entire lists
ret = clEnqueueNDRangeKernel(command_queue, kernel, 1, NULL,&global_item_size, &local_item_size, 0, NULL, NULL);
そして、私が変更したときの同じカーネルに対して
size_t local_item_size = 16;
すべてを同じに保ちます。
パフォーマンスが約 4 ~ 5 倍速くなりました。