AIE-ML メモリ タイル DMA

Versal アダプティブ SoC AIE-ML アーキテクチャ マニュアル (AM020)

Document ID
AM020
Release Date
2023-11-10
Revision
1.2 日本語

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 チャネルは同じアドレス指定方式とロック インデックスを使用します。

表 1. メモリ タイル DMA のアドレスおよびロック範囲
  アドレス範囲 ロック インデックス 説明
左側 0x0_00000x7_FFFF 0 ~ 63 チャネル 0 ~ 3 のみ
ローカル 0x8_00000xF_FFFF 64 ~ 127  
右側 0x10_00000x17_FFFF 128 ~ 191 チャネル 0 ~ 3 のみ

このアドレス指定方式では、アドレスおよびロック要求が特定の DMA チャネルの範囲外となるようなハードウェアが構成されることがあります。この条件が発生すると、DMA チャネルがストールし、チャネル リセットを実行する必要があります。

メモリ タイルの MM2S チャネルはゼロ パディングの挿入をサポートします。この機能により、次の 2 つのアプリケーション要件を満たすことができます。

  • アルゴリズムによるパディング: 有効データのエッジに周囲データを再作成します。
  • 粒度によるパディング: 最適化されたカーネルは 16 チャネルに対する動作が可能ですが、1 つのレイヤーは 24 チャネルを持つことができ、MM2S チャネルはチャネル次元を最大 32 チャネルまでパディングします。

ゼロ パディングの挿入は、4D アドレス生成にリンクされています。これよりも低い 3 つの次元では、その次元の前後のパディング用のフィールドがあります。次の図に、3 次元のゼロ パディングを示します。1 つの次元に対するパディングは、その次元のラップの上位に追加されます。

図 1. 3 次元のゼロ パディング