19 / 24 · 概念
帯域幅と計算の限界
1152 MAC、224バイトでPEを8個にし、帯域幅は0.5バイト/サイクルのままとします。完全重ね合わせの下限は何ですか。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
算術へデータを供給する
MAC数は処理量、帯域幅はオペランドが届く速さを測ります。1 MACのPE4個は理想的にサイクルあたり4 MACです。各MACに1バイトオペランド2個を取得すると、サイクルあたり8バイト必要です。再利用は外部通信を減らしますが、局所バッファにはなおPEへ供給する十分なポートが必要です。外部帯域幅と内部読み出しポート需要は異なる量です。
計算下限はMAC数を利用可能MAC率で割った値です。転送下限はバイト数を帯域幅で割ります。完全重ね合わせでも総時間は両者の最大値より短くできません。重ねなければ加算します。起動、バースト、アドレス設定、端数、書き込みが実スケジュールを増やし得ます。
仮想設計の計算例
N=1,C=2,H=W=6,M=4、有効3×3畳み込みを使います。出力は4×4、処理は1152 MACです。ハローの再ロードや部分和退避なしで、各テンソルを1回取得すると仮定します。int8入力72バイト、重み72、出力64、32ビットバイアス16、計224バイトです。
4 PEの計算下限は288サイクルです。1バイト/サイクルでは転送224サイクルなので、完全重ね合わせ下限は288です。0.5バイト/サイクルなら転送448が大きい下限です。1バイト/サイクルで重ねない単純和は512です。すべての報告値にこの仮定を付けます。
この再利用仮定の演算密度は1152/224≈5.14 MAC/バイトです。各MACで両オペランドを取得するとオペランド2304バイト、出力とバイアス込み2384です。処理量は同じでも移動が違います。キャッシュ、圧縮、バスのアラインメントを意図的に除外した例で、ハードウェア測定ではありません。
重複なしテンソルサイズ、実読み書きバイト数、部分和通信、有用PE演算、総サイクルを記録します。アイドルを入力不足、出力ブロック、端数、制御で分類します。転送が支配的ならPE倍増で時間は半減しません。再利用改善には追加記憶が必要なことがあるため、前のタイル予算と併せて考えます。
自分で考えてみましょう
1152 MAC、224バイトでPEを8個にし、帯域幅は0.5バイト/サイクルのままとします。完全重ね合わせの下限は何ですか。
解説を見る
計算下限144サイクル、転送下限448なので最大値448です。オペランド供給がなお下限を制限します。