メモリ集積度の高いデザインでのウィンドウ バッファー サイズの削減 - 2023.2 日本語

AI エンジン ツールおよびフロー ユーザー ガイド (UG1076)

Document ID
UG1076
Release Date
2023-12-04
Version
2023.2 日本語

デザインのウィンドウ サイズを決定する際に重要な考慮事項の 1 つに、データの読み込みに必要なサイクル数と、カーネルで必要な計算サイクル数とのバランスがあります。これは、ping および pong バッファーのデータ読み込みをカーネル計算と共にパイプライン処理するのに役立ちます。メモリ集積度の非常に高いデザインでは、ウィンドウ サイズを大きくするとマップでエラーが発生する可能性があるので、カーネル計算のバランスを取ることができる範囲でウィンドウ サイズを小さくする方が適しています。

次の表に、2 つの行列の 16 ビット データとの行列乗算に必要なサイクル数を示します。例 1 と例 2 では、行列のサイズが異なりますが、どちらも計算とデータ読み込みのバランスは取られています。データの読み込み時間は A または B 行列のサイズの大きい方のみにより決定されますが、カーネルの計算時間は両方のサイズにより決定されます。これは、例 1 のウィンドウ サイズは例 2 よりも小さいですが、計算とデータの読み込みのバランスはとられており、パイプライン処理可能です。

表 1. 行列乗算の例
  行列 A のサイズ 行列 B のサイズ 乗算演算数 (MultOps) 計算のサイクル数

1 サイクルごとに 32 演算

データ読み込みのサイクル数

1 サイクルごとに 32 ビット

例 1 16x64 64x16 16384 512

(16384/32)

512

(64x16x16/32)

例 2 16x64 64x32 32768 1024

(32768/32)

1024

(64x32x16/32)