ベンチマークプログラムを書き直したのでちゃんと測ってみました(10日ぐらい前の話ですが)。計測対象は前記事と同じく Rocket Lake です。

で、結果として、

  • マスクをかけてもスループットは(基本)変わらない
  • B/W のマスクだとレイテンシが2増加する
  • D/Q/PS/PD のマスクだとレイテンシは増加しない
  • merging-masking でも zeroing-masking でも同じ
  • 速い命令(VPADDとか)でも遅めの命令(VPMADDUBSWとか)でも同じ
  • movにマスクをかける場合、レイテンシが 1、スループットが xmm/ymm だと 0.33 で zmm だと 0.5 の命令として扱われる

ということが分かりました。スループットに関しては元が 0.33 な命令にマスクをかけるとほんのちょっと遅くなるという現象が計測されているのですが、ホントにそうなるのかベンチマークプログラムの問題なのかまではよくわかりません。

Trackback

no comment untill now

Add your comment now