ハードウェア アーキテクチャ - 1.2 日本語

Versal ACAP 向け DPUCVDX8G 製品ガイド (PG389)

Document ID
PG389
Release Date
2022-06-24
Version
1.2 日本語

DPUCVDX8G は、PL と AI エンジンで構成されています。AI エンジンは、ニューラル ネットワークのたたみ込み演算に使用されます。PL では、データ転送、命令スケジューラ、プーリング、要素ごとの和、空間方向のたたみ込みなどが実行されます。

DPUCVDX8G は、複数のバッチ ハンドラーを使用して設定できます。各バッチ ハンドラーには、対応する AI エンジン アレイとそれらに関連する AI エンジン インターフェイス タイル リソースがあります。PL 側では、DPUCVDX8G はバッチ ハンドラーと共有ロジックの 2 つの部分に分割されます。バッチ ハンドラーは、主に読み込み、格納、プーリングなどの特徴マップの処理に使用されます。バッチ ハンドラー内の論理演算ユニット (ALU) モジュールが、特徴マップ用のプーリングや要素ごと/空間方向のたたみ込み演算を実行します。特徴マップは、オンチップ RAM で構成される IMG BANK に格納されます。AI エンジン アレイに送るデータを準備するために、Image Sender モジュールと Weight Sender モジュールを使用します。PL コンポーネントの共有ロジックには、Permuter モジュールと Scheduler モジュールがあります。Scheduler モジュールは、NoC から命令をフェッチしてディスパッチし、その後、バッチ ハンドラーと Permuter モジュールに転送します。Permuter モジュールは、NoC から重みとバイアスを読み込み、計算を反復実行するたびに特定の重みデータを AI エンジン アレイに転送します。詳細は、表 1を参照してください。

また、DPUCVDX8G は、複数の演算ユニットでセットアップして異なるモデルを同時に実行することも可能です。この場合、NoC の PL NMU インターフェイスが多く必要になることに留意してください (表 1参照)。

起動後、DPUCVDX8G は NoC から命令をフェッチし、演算エンジンの動作を制御します。命令は、高度な最適化機能を持つ Vitis™ AI コンパイラによって生成されます。

オンチップ メモリを入力データ、中間データ、および出力データのバッファーとして使用することで、高スループットと高い効率性を実現します。外部メモリの帯域幅を抑えるため、データを再利用します。演算エンジンには、多段パイプライン デザインを使用しています。

次の図に、DPUCVDX8G のハードウェア アーキテクチャの詳細を示します。

図 1. DPUCVDX8G のハードウェア アーキテクチャ