AI エンジン プログラムには、C++ で記述されたデータフロー グラフ仕様を含める必要があります。適応型データフロー (ADF) グラフは、1 つの AI エンジン カーネル、またはデータ ストリームで接続された複数の AI エンジン カーネルを含むネットワークです。グラフは、プログラマブル ロジック (Pl)、グローバル メモリ、ホスト プロセッサと特定のコンストラクトを使用して通信できます。input_plio
および output_plio
ポート オブジェクトを使用してプログラム ロジックとのストリーム接続を確立でき、input_gmio
および output_gmio
ポート オブジェクトを使用してグローバル メモリとのメモリ マップド接続を確立でき、RTP (ランタイム パラメーター) オブジェクトを使用してグラフ実行で必要なパラメーターをセットアップおよび制御できます。
グラフは、複数のカーネル、入力、出力ポートを持つことができます。グラフの接続は、データフロー グラフ内のネットと同じで、カーネル間、カーネルと入力ポート間、またはカーネルと出力ポート間のいずれかであり、接続として設定できます。グラフは、グラフ内のカーネルが要求するデータ バッファーまたはデータ ストリームに相当するすべてのデータ サンプルが利用可能になったときに実行され、グラフ内のすべてのカーネル出力で要求されるデータ バッファーまたはデータ ストリームに相当するデータ サンプルを生成します。
C++ テンプレート サポート で説明されているように、AI エンジン グラフまたはカーネルを記述するには、テンプレート クラスまたは関数を使用できます。アプリケーションは、AI エンジン ツールチェーンを使用してコンパイルおよび実行されます。この章では、AI エンジン プログラム記述の概要を示します。
この章で使用される例は、AMD Vitis™ 環境で新規 AI エンジン プロジェクトを作成する際に、テンプレート例として提供されます。