如果所有在同一個命令隊列和命令隊列是一個有序的類型,那麼它的工作。
有序隊列按順序執行所有命令。每個命令都會查看最新命令的結果。
這裏: https://www.khronos.org/registry/OpenCL/sdk/1.0/docs/man/xhtml/clCreateCommandQueue.html
它說
例如,如果一個應用程序調用clEnqueueNDRangeKernel到 執行內核後跟一個clEnqueueNDRangeKernel執行 內核B,應用程序可以假定內核首先完成並且 然後內核B被執行。如果通過存儲器內核對象輸出的 被輸入到內核B,則內核乙將看到 存儲器中的對象由內核A的執行所產生如果
注意正確的數據:將灰度如果不使用原始灰度級,重新調整尺寸可能更有效,而且尺寸縮小而不是升級。如果只需要重新調整大小的圖像,則可以在單內核中同時執行灰度。當重新調整大小的工作項目爲結果像素選取一些像素時,可以對結果像素應用灰度。
如果您要同時使用灰度原始圖像和灰度調整大小的圖像,可以有兩個輸出(不改變原始圖像)並且有兩個並行命令隊列以更快完成整個工作(如果內核啓動開銷相當於內核執行開銷),但這需要兩個隊列同步點,對於非常小的圖像可能會變慢(一個隊列需要查看其他隊列的緩衝區副本,並且兩個隊列必須稍後才能完成兩個結果)。來自兩個隊列的兩個內核可以使用相同的緩衝區進行只讀,而不會有任何問題。
只注意正確的參數設置爲內核進行排隊命令隊列(有沒有保證,他們不會立即開始)
根據您的需要,但設置的參數是不是你可以有很多執行內核之前隊列操作在開始時需要被照顧。