私たちは主タスクをそれらに分散させるマルチデバイスシステムを持っています。各サブタスクはで構成されていますホストのCPUを判別する方法は?
- エンキュー・ライト・バッファ
- エンキューカーネル
- エンキューが
バッファを読んですべてのエンキューは非同期とコマンドキューがインオーダーされています。 cl_event
のコールバックをエンキュー読み出しバッファに割り当て、メインタスクが完了したかどうかを判断します。そうでない場合は、キューにもう1つのサブタスクをスケジュールします。
残念ながら、ホストのCPUをビジー状態に保つと、他のデバイス(GPU)からのコールバックや、仕事に関与していないほとんどのコールバックを処理できないことがわかりました。この考えは、メインタスクを完了するために使用するデバイスのリストからホストのCPUを除外することです。
CPU以外のデバイスだけをポーリングするだけの理由はありますか? – KLee1
ホストに複数のCPUがある可能性があるので – Kentzo