opencl
最初のカーネル実行の結果が(K1)
2 番目のカーネル実行に入力されるように複数のカーネルを使用する場合、次の(K2)
2 つの質問があります。
- イベントはカーネルごとに異なる必要がありますか、それともカーネルごとに同じにする必要がありますか?
- コマンド キューはカーネルごとに異なる必要がありますか、それともカーネルごとに同じにする必要がありますか?
ありがとう。
opencl
最初のカーネル実行の結果が(K1)
2 番目のカーネル実行に入力されるように複数のカーネルを使用する場合、次の(K2)
2 つの質問があります。
ありがとう。
単一のコマンド キューが必要です (カーネルが同じデバイスで実行されると仮定します)。
コマンド キューがCL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEで作成されていない限り、記述したシナリオでイベントを作成する必要はありません。カーネルはキューに入れられた順序で実行されます。
順不同のコマンド キューの場合、最初のclEnqueueNDRangeKernelからイベントを取得し、それを依存関係として 2 番目のキューに渡す必要があります。clReleaseEventでイベントを解放することを忘れないでください。