我在NVIDIA上使用OpenCL 2.0的測試版支持,並針對像1080ti這樣的高端GPU。在我的計算管道中,我需要有時派遣工作來獨立處理相對較小的圖像。理論上,我認爲這些圖像應該能夠在單個GPU上並行處理,因爲單個圖像的工作組數量不會使GPU的所有計算單元飽和。OpenCL Parallel Dispatch
這在OpenCL中可能嗎?這在OpenCL中有一個名字嗎?
如果可能的話,爲單個設備使用多個隊列是唯一的方法嗎?或者驅動程序會查看「waitEventList」並決定哪些內核可以並行處理?
我需要CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE嗎?
如果您不想使用亂序命令隊列的麻煩,而是使用多個按序命令隊列。如果您的設備一次能夠處理多個內核,則每個命令隊列中都有一個內核。比處理亂序隊列要容易得多。 – Dithermaster
是的,由於明確的主機端控制,多個有序隊列也具有可預測的性能。 –