0

opencl最初のカーネル実行の結果が(K1)2 番目のカーネル実行に入力されるように複数のカーネルを使用する場合、次の(K2)2 つの質問があります。

  1. イベントはカーネルごとに異なる必要がありますか、それともカーネルごとに同じにする必要がありますか?
  2. コマンド キューはカーネルごとに異なる必要がありますか、それともカーネルごとに同じにする必要がありますか?

ありがとう。

4

1 に答える 1

1

単一のコマンド キューが必要です (カーネルが同じデバイスで実行されると仮定します)。

コマンド キューがCL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEで作成されていない限り、記述したシナリオでイベントを作成する必要はありません。カーネルはキューに入れられた順序で実行されます。

順不同のコマンド キューの場合、最初のclEnqueueNDRangeKernelからイベントを取得し、それを依存関係として 2 番目のキューに渡す必要があります。clReleaseEventでイベントを解放することを忘れないでください。

于 2013-02-01T17:33:10.217 に答える