OpenCLベストプラクティスガイド(https://www.cs.cmu.edu/afs/cs/academic/class/15668-s11/www/cuda-doc/OpenCL_Best_Practices_Guide.pdf)は、コマンドが正しい順序で行われるようにするために、3.1.3項に示唆しています。処理は、データ転送の前に発生しません:オーバーラッピング転送と実行:正しい順序でコマンドが実行されていることを確認してください。
- はqueue0とQUEUE1 ためQUEUE1
clFlush
のためにデータを転送し、queue0- 実行queue0ためのカーネル用queue0
clFlush
のためにデータを転送します- queue1のカーネルを実行し、queue0のデータを取得する
clFlush
両方について- queue1のデータを取得する
ここに返信するhttps://stackoverflow.com/a/12389713/4634819は、同じようにイベントを使用することを提案しています。
私の質問は:この場合、clFlush
とイベントは同じ目的(同時実行を避ける)になりますか?それらのうちのどれを使用するかは重要ですか?
ありがとうございました!すべては今はっきりしています:) – vgeclair