インテルのみ表示可能 — GUID: ftn1503082738238
Ixiasoft
インテルのみ表示可能 — GUID: ftn1503082738238
Ixiasoft
12.1.1.1. インテルFPGA SDK for OpenCLパイプラインのアプローチの概要
各レベルの動作が、パイプラインの1ステージであると仮定します。各ステージにおいてインテル FPGA SDK for OpenCLは、そのステージに存在するスレッドに基づきすべての動作を並列で実行します。例えばスレッド2ではLoad A、Load Bを実行し、現在のグローバルIDを (gidを介し) 次のパイプライン・ステージにコピーします。RISC (縮小命令セット・コンピューター) プロセッサーでのパイプライン化された命令の実行と同様、SDKのパイプライン・ステージもまた、並列して実行を行います。ステージの実行がすべて完了しなければ、スレッドは次のパイプライン・ステージに進みません。
一部の動作では、インテルFPGA SDK for OpenCL パイプラインをストールさせることができます。例えば、メモリーのロードやストア動作のような可変レイテンシー動作などがそれにあたります。ストールをサポートするには、ready信号とvalid信号をパイプライン全体に伝播し、オフライン・コンパイラーがパイプライン・ステージをスケジュールできるようにします。ただし、すべての動作のレイテンシーが固定されている場合、ready信号は必要ありません。このような場合オフライン・コンパイラーはパイプラインを最適化し静的に動作をスケジュールするため、パイプラインの実装に必要なロジックが大幅に削減されます。