AIハードウェアとソフトウェアスタック
N×NのFP16(2バイト)の行列どうしの積で、2つの入力を1回ずつ読み、結果を1回書くとする。演算強度(1バイトあたりの演算数)はおよそいくらか。
- A1/3
- BN/3
- C3N
答えと解説を見る
正解:B. N/3
演算の数は2N³、メモリの読み書きは3つの行列で3N²要素、FP16なので6N²バイトです。演算強度は2N³÷6N²=N/3で、N=1024なら約340になります。行列の積は大きいほど1バイトあたりの計算が増えるので、演算器の性能を引き出しやすい処理です。一方、要素ごとの足し算のような処理は演算強度が1未満で、メモリの帯域で速さが決まります。
- A. Nに比例して大きくなります。
- B. 正しい。2N³÷6N²=N/3です。
- C. 演算の数を多く見積もりすぎています。