ロード、計算、およびストア関数の接続 - 2020.2 Japanese

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

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

標準 C/C++ 変数および配列を使用すると、最上位インターフェイスと load、compute、store 関数を接続できます。また、ストリーミング動作をモデリングする hls::stream クラスを使用しても便利です。

ストリーミングとは、データ サンプルが最初のサンプルから順に送信されるデータ転送のことで、アドレス管理を必要とせず、FIFO を使用してインプリメントできます。hls::stream クラスの詳細は、「Vitis HLS のフロー」HLS ストリームの使用を参照してください。

関数を接続する際は、HLS コンパイラで必要な正規化形式を使用します。詳細は、データフロー最適化 を参照してください。これにより、コンパイラで、データフロー最適化を使用してスループットの大きなタスク セットが構築されます。主な推奨事項は、次のとおりです。

  • データは順方向にのみ転送し、できる限りフィードバックしないようにします。
  • 接続ごとに、1 つのプロデューサーと 1 つのコンシューマーが必要です。
  • カーネルのプライマリ インターフェイスにアクセスするのは、ロードおよびストア関数のみにします。

これで、カーネルの最上位関数が作成され、カーネルにデータを必要なスループットで転送するインターフェイスとロード/ストア関数のコードが記述されました。