バッファー ポートとウィンドウの比較 - 2023.2 日本語

AI エンジン カーネルおよびグラフ プログラミング ガイド (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 日本語

AMD Vitis™ ツール 2022.1 およびそれ以前のバージョンでは、カーネル間のメモリ インターフェイスはウィンドウと呼ばれていました。バッファー ポートは、ウィンドウ ポートとほぼ同じですが、次の表に異なる点を示します。カーネルは、バッファー ポートを使用してコア メモリ ブロックに対して処理を実行できます。

表 1. ウィンドウとバッファーの違い
ウィンドウ バッファー
サイズとマージンの単位はバイトです。 サイズとマージンの単位はサンプルです。
サイズは、connect 文を使用してグラフでのみ定義できます。 サイズは、dimensions 文を使用してグラフで定義するか、またはコンパイル時定数としてカーネル シグネチャで定義できます。
マージンは connect 文を使用してグラフでのみ定義できます。 マージンは、コンパイル時定数としてカーネル シグネチャでのみ定期できます。
ロック機構は、connect 構文を使用してグラフで指定されます。 ロック機構は、カーネル シグネチャで指定されます。
C++14 で十分です。 バッファー ポートは C++17 の fold 式を使用します。
サーキュラー アドレッシング (循環的なアドレス指定) のみがサポートされます。 デフォルトのアドレッシング モードは、リニアです。サーキュラー モードに設定できます。
データ アクセスの場合、window_readincr()window_writeincr() などの読み出し API または書き込み API の動作に直接接続されます。 参照ポインターまたは反復子を使用し、読み出し動作や書き込み動作を実行できます。
1 次元のみ 多次元。バッファーの次元がカーネル シグネチャで省略されている場合、1 次元とみなされます。
注記: バッファー ポート サイズ、ウィンドウ サイズおよびマージン サイズの制限はハードウェア制約に依存するため、バッファー ポートとウィンドウの最小サイズの観点では差はありません。