0

Quadro FX 880 カードを使用しています。イメージ セグメンテーション コードでは、イメージを 4 つの部分に分割しました (つまり、4000 ピクセルの場合、各部分は 1000 ピクセルです)。私のコードには 8 個のカーネルがあります...最初の 4 個は並列で実行され、次の 4 個は再び並列で実行されますが、最初の 4 個のカーネルが実行された後です。8 つのカーネルすべてに同じコマンド キューを使用し、最初の 4 つのカーネルのそれぞれに clEnqueueNDRangekernel コマンドを指定し、コマンド キューの作成中に OUT_OF_ORDER 引数について言及した場合、これは可能ですか? そして、これが可能な場合、最初の 4 つのカーネルの後に実行される次の 4 つのカーネルを並行して実行する方法..? 最初の 4 つのカーネルの後に clWaitForEvents コマンドを実行してから、次の 4 つのカーネルを指定できますか? ? これにより、最初の 4 つのカーネルが並行して実行され、その後に次の 4 つのカーネルが並行して実行されることが保証されますか?

各カーネルに約 1000 ピクセルがあり、clEnqueueTask を使用すると gobal_workitem_size と local_work_item_size を 1 にすることができるため、clEnqueueTask を使用するとコードが遅くなると思います。

これらすべてのことができるかどうかはわかりません...そして何が間違っていて何が正しいのか...だから、確認が必要です...!しかし、この方法ではない場合は、別の方法を提案してください...!

4

2 に答える 2

0

FX880M は、コンピューティング機能 1.2 デバイスです。同時/同時カーネル実行はサポートされておらず、実行コピーのオーバーラップのみがサポートされています。順不同で実行するコマンド キューを作成できますが、求めている効果はありません。

于 2013-03-31T07:40:31.903 に答える