KNC(XeonPhi) のmax

KNC の浮動小数の max を行うintrinsicsは単精度、倍精度それぞれ二種類あります。

  • _mm512_gmax_ps, _mm512_gmax_pd
  • _mm512_max_ps _mm512_max_pd

gmax のほうは、一個の命令(vgmaxps)に対応するのに対し、gの付かない max のほうは、比較 + blendに展開されます。

浮動小数は、+0と-0のように、ひとつの値に対して、表現が複数ある場合がありますが、その場合に、選択される値が変わるようです。

また、SIMDレジスタに含まれる16要素から、最大値を一個選ぶ intrinsics も用意されてます

  • _mm512_reduce_gmax_ps, _mm512_reduce_gmax_pd
  • _mm512_reduce_max_ps _mm512_reduce_max_pd

これは、KNC では、max 演算 + シャッフルの複数命令に展開されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です