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

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

Document ID
UG1393
Release Date
2020-02-28
Version
2019.2 Japanese

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

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

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