データフロー最適化 - 2020.2 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2021-03-22
Version
2020.2 Japanese

データフロー最適化は、カーネル内でタスク レベルのパイプラインおよび並列処理をイネーブルにすることにより、カーネルのパフォーマンスを改善する優れた手法です。v++ コンパイラで複数のカーネル関数が同時実行されるようスケジューリングできるようになるので、スループットが上がり、レイテンシが短縮されます。これは、タスク レベルの並列処理とも呼ばれます。

次の図に、データフロー パイプライン処理の概念を示します。デフォルトでは、func_Afunc_Bfunc_C の順に実行されて終了します。 pragma HLS dataflow をイネーブルにすると、データが使用可能になったらすぐに各関数が実行されるようスケジューリングできます。この例の場合、元の top 関数のレイテンシと間隔は 8 クロック サイクルです。データフロー最適化を使用すると、間隔は 3 クロック サイクルに削減されます。

図 1. データフロー最適化