デザイン トポロジ - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語

Vitis コア開発キットでは、Alveo データセンター アクセラレーション カードとカスタム エンベデッド プラットフォームがデザインの基盤となります。ターゲット デバイスには、AMD Versal™ アダプティブ SoC、Zynq UltraScale+ MPSoC、Kria SOM、AMD UltraScale+™ FPGA などがあります。これらのデバイスには、デバイス バイナリ (.xclbin) ファイルをロードして実行するプログラマブル ロジック (PL) 領域が含まれます。このファイルには、コンパイル済みオブジェクト オブジェクト (.xo) ファイルとして PL カーネルが含まれて接続されており、AI エンジン グラフも含まれることがあります。

拡張可能な Alveo アクセラレーション カードとカスタム エンベデッド プラットフォームには、グローバル メモリ (DDR または HBM) への 1 つまたは複数のインターフェイス、および AI エンジン や外部 I/O などのほかのリソースに接続されたオプションのストリーミング インターフェイスが含まれています。PL カーネルは、グローバル メモリ インターフェイス (m_axi) またはストリーミング インタフェース (axis) を介してデータにアクセスできます。PL カーネルのメモリ インターフェイスは、エクステンシブル プラットフォームのメモリ インターフェイスに接続する必要があります。PL カーネルのストリーミング インターフェイスは、プラットフォーム、ほかの PL カーネル、または AI エンジン アレイの任意のストリーミング インターフェイスに接続できます。システムのリンク で説明するように、メモリ ベースの接続とストリーミング接続の両方が Vitis リンク オプションで定義されます。

AMD デバイス バイナリ (.xclbin) の PL 領域には複数のカーネル (.xo) をインプリメントできるので、アプリケーションをかなりアクセラレーションできます。1 つのカーネルを複数回インスタンシエートすることもできます。カーネルのインスタンス数または演算ユニット数は最大 31 までプログラム可能で、デバイス バイナリを構築する際に指定したリンク オプションで決定できます。

Versal デバイスの場合、.xclbin ファイルにはコンパイル済みの AI エンジン グラフ アプリケーション (libadf.a) も含めることができます。グラフ アプリケーションは、計算カーネル関数を表すノードとデータ接続を表すエッジで構成されます。カーネル関数は、ADF グラフ アプリケーションの基本的な構成ブロックです。カーネルは、データ ストリーム上で動作し、入力データ ブロックを消費し、出力データ ブロックを生成します。libadf.a と PL カーネル (.xo) は、ターゲット プラットフォーム (.xpfm) とリンクされ、ハードウェア デザインを定義します。AI エンジン は、axis インターフェイスを介して PL カーネルで駆動できます。また、AI エンジン は、グラフ内のランタイム パラメーター (RTP) や Versal アダプティブ SoC デバイスの GMIO を介して、Arm プロセッサ (PS) から制御することもできます。詳細は、 『AI エンジン ツールおよびフロー ユーザー ガイド』 (UG1076) を参照してください。