2016-03-26 66 views
2

我有一些要執行的作業。每個作業都由緩衝區寫入,內核執行和緩衝區讀取組成,這些操作必須按順序執行。不同的工作是獨立的,因此可以同時執行。OpenCL多個有序命令隊列與單個無序隊列

在使用多個有序命令隊列(如使用CUDA流的一個命令隊列)和一個無序命令隊列之間是否存在任何性能差異,並具有等效的同步?哪個更好?

回答

0

某些實現不支持亂序命令隊列。

根據你的描述,我會使用多個亂序隊列。使用單一的亂序隊列將需要事件在虛擬隊列中進行同步,這對您來說是額外的工作。

+0

是的,但有多少個命令隊列?即使由於手動「批量」創建而導致的額外工作量,我發現使用單個亂序隊列也更加微不足道。但是隻有當它被支持並且演出不會受到影響時。 – Shepard

+0

>多少個命令隊列 每個進行中的作業(您可以將其從完成的作業重新用於新作業)。但是你發現使用單一的亂序隊列更加簡單,然後嘗試。驗證你想運行的所有設備是否支持它。 – Dithermaster

+0

是的,這是一個好主意,一旦可用就重用舊隊列。我想使用單個隊列是的,但我很好奇它將如何比較多個隊列。我想我會做一些測試。 – Shepard