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

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

Document ID
PG389
Release Date
2023-01-31
Version
1.3 日本語

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 NMU インターフェイスを追加して異なるモデルを同時に実行することも可能です。

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

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

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