3.5.8.15L2BM→PDMグループ内縮約命令
指定したグループについて、 2 個両方のL2BMから等サイズで読んでL2B方向に縮約し、同じグループの
PDMに書き込む。
単位動作は 64 長語である。
スループットは 16 長語/サイクルである。
この命令には対となるPDM→L2BMグループ内放送命令が存在しないことに注意する。
code:txt
文法
mvr2<op>/n<size><tag> $lc<addr_c>@<group> $p<addr_p>@<group>
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_addr=addr_p + 64 *i
LongWord buf64 = 0, ..., 0
forall l2b
buf0:64 =op(buf0:64,MEMgroupl2b.l2bmsrc_addr:src_addr+64)
MEMgroup.pdmdst_addr:dst_addr+64 =buf
code:txt
注意:縮約を内部的に実際にこの手順で行っているわけではない。
エラー
sizeが単位動作 64 の倍数でないとエラーになる。
code:txt
例
mvr2dfadd/n64 $lc0@1 $p0@1
1 番グループについて、 2 つのL2BMから 64 長語ずつ読んで倍精度浮動小数点数加算を行い、完成した 64
長語を 1 番PDMに書き込む。