3.5.8.21L2BM→DRAMグループ間縮約命令
すべてのL2BMから等サイズに読んでL2B方向に縮約し、 4 つのDRAMに等分配する。
単位動作はL2BM側 64 長語、DRAM側 16 長語である。
スループットはL2BM側で数えて 32 長語/サイクルである。
code:txt
文法
mvr<op>/n<size><tag> $lc<addr_c>$d<addr_d> code:txt
縮約演算指定<op>については3.5.5節を参照のこと。
code:txt
効果
uint_t n=size / 64
for i= 0:n
uint_t src_addr=addr_c + 64 *i
uint_t dst_oddr=addr_d + 16 *i
forall group
forall l2b
code:txt
forall group
uint_t buf_addr= 16 *group
code:txt
注意:縮約を内部的に実際にこの手順で行っているわけではない。
code:txt
エラー
sizeが単位動作 64 の倍数でないとエラーになる。
code:txt
例
mvrdfadd/n64 $lc0 $d0
8 個すべてのL2BMから 64 長語ずつ読んでL2B方向に縮約した 64 長語を、各グループ 16 長語ずつにし
てDRAMに書き込む。