5月
09
雑にちょっとだけ測っただけなんですが、(Rocket Lake において) AVX-512 のマスクレジスタを使った時のレイテンシの増加は1で固定「ではない」ということが分かりました。
たとえば VPADDB xmm, xmm, xmm のレイテンシは 1 でスループットは 0.33 ですが、これに zeroing-masking をかけるとレイテンシがいきなり 3 になります。スループットは 0.33 で変わらないようです。merging-masking でもレイテンシが 3 になります(自分のベンチマークプログラムが不出来なせいでスループットはまだ測れてません)。これが VPADDQ になるとレイテンシは 1 のまま変わりません。この B と Q との挙動の違いは VMOVDQU8/64 や VPBLENDMB/Q でも同様(後者は Agner さんの評価結果)です。
VPERMT2B/Q や VPMADDUBSW といったレイテンシやスループットがが元々長い命令でどうなるかは気になる所です。
1で固定だと思い込んでコードを書いてたので、書いたのを一度読み直して修正しないと…
AVX512 のマスクレジスタを使った場合のレイテンシの増加(その2)
ベンチマークプログラムを書き直したのでちゃんと測ってみました(10日ぐらい前の話ですが) で、結果として、 マスクをかけてもスループットは(基本)変わらない B/W のマスクだとレ…