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