0
多個內核,當我使用多個內核中opencl
使得第一核心(K1)
執行的結果被輸入到第二內核(K2)
執行,所以兩個問題是:查詢有關的OpenCL
- 事件應是對於每個不同的內核還是應該是一樣的 每個內核?
- 每個內核的命令隊列應該是不同的,或者應該是每個內核都相同的 ?
謝謝。
多個內核,當我使用多個內核中opencl
使得第一核心(K1)
執行的結果被輸入到第二內核(K2)
執行,所以兩個問題是:查詢有關的OpenCL
謝謝。
您需要一個命令隊列(假設內核在同一個設備上執行)。
除非你的命令隊列與CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE創建的,你不需要在你描述的場景創建活動:內核在它們排隊的順序執行。
對於無序命令隊列,您應該從第一個clEnqueueNDRangeKernel中獲取一個事件,並將其作爲依賴關係傳遞給第二個事件隊列。請記住用clReleaseEvent發佈事件。
意味着在我的情況下,我必須做出一個命令隊列和一個事件.....我是對嗎? – reva
我的意思是在你的情況下,你只需要一個命令隊列(沒有選項創建),沒有事件。 –
我可以在同一塊GPU上同時使用一個內核處理某些內核和另一個內核處理其餘內核 – reva