AIE-ML メモリ タイル DMA の機能一覧は、AIE-ML メモリ タイルの概要と機能 に示しています。メモリ タイル DMA は AI エンジン (AIE) タイル DMA に類似していますが、いくつかの点が改良されています。
- 5D テンソル アドレス生成 (iteration-offset を含む) をサポート
- 受信パケットのヘッダー情報に基づき、バッファー ディスクリプター (BD) のアウトオブオーダー処理が可能
- 圧縮と伸張をサポート
メモリ タイル DMA には 12 の独立したチャネル (6 つの S2MM と 6 つの MM2S) があります。各チャネルには入力タスク キューがあります。BD をロードし、アドレスを生成し、共有インターフェイスを介してメモリにアクセスし、ストリーム ポートを使用して読み出しまたは書き込みを実行できます。各チャネルは、タスク完了時にタスク完了トークンの発行をトリガーできます。AIE-ML メモリ タイル DMA は、AIE-ML のデータ移動アーキテクチャ で説明したアドレス生成をサポートします。メモリ タイル DMA は、最大 4 次元 (K=4) をサポートします。
6 つの S2MM および MM2S チャネルのうち、DMA S2MM チャネル 0 ~ 3 と MM2S チャネル 0 ~ 3 はローカル メモリ バンク以外に左右方向のタイル内のメモリ バンクにもアクセスできます。これらのチャネルは、左右方向のタイル内のロック モジュールにもアクセスできます。MM2S および S2MM チャネル 4 ~ 5 はローカル メモリ バンクおよびローカル ロック モジュールにしかアクセスできません。
次の表に示すように、全 12 チャネルは同じアドレス指定方式とロック インデックスを使用します。
アドレス範囲 | ロック インデックス | 説明 | |
---|---|---|---|
左側 |
0x0_0000 ~ 0x7_FFFF
|
0 ~ 63 | チャネル 0 ~ 3 のみ |
ローカル |
0x8_0000 ~ 0xF_FFFF
|
64 ~ 127 | |
右側 |
0x10_0000 ~ 0x17_FFFF
|
128 ~ 191 | チャネル 0 ~ 3 のみ |
このアドレス指定方式では、アドレスおよびロック要求が特定の DMA チャネルの範囲外となるようなハードウェアが構成されることがあります。この条件が発生すると、DMA チャネルがストールし、チャネル リセットを実行する必要があります。
メモリ タイルの MM2S チャネルはゼロ パディングの挿入をサポートします。この機能により、次の 2 つのアプリケーション要件を満たすことができます。
- アルゴリズムによるパディング: 有効データのエッジに周囲データを再作成します。
- 粒度によるパディング: 最適化されたカーネルは 16 チャネルに対する動作が可能ですが、1 つのレイヤーは 24 チャネルを持つことができ、MM2S チャネルはチャネル次元を最大 32 チャネルまでパディングします。
ゼロ パディングの挿入は、4D アドレス生成にリンクされています。これよりも低い 3 つの次元では、その次元の前後のパディング用のフィールドがあります。次の図に、3 次元のゼロ パディングを示します。1 つの次元に対するパディングは、その次元のラップの上位に追加されます。