AVX-512 の仕様が7月中旬に更新されているのに今頃気づきました。また遅れてるな俺。

追加される拡張命令セットは以下のとおり。

AVX-512 Vector Length Extension (AVX512VL)
AVX-512 命令で 128bit/256bit 操作を行えるようになる。AVX-512 は単なる AVX の 512bit 版ではなく opmask 等の強力な機能が追加されているため、短いベクタ長で AVX-512 命令が使えるのは意味のあることである。
AVX-512 Byte and Word Instructions (AVX512BW)
以前の記事で バイト/ワード 単位の命令が見当たらないと書いたが、それが使えるようになる。これに伴い、マスクレジスタ長が 16bit から 64bit になる。
AVX-512 Doubleword and Quadword Instructions (AVX512DQ)
ダブルワード/クアッドワード あるいは 単精度小数/倍精度小数 単位の追加の命令群が使えるようになる。

また、どのプロセッサにどの拡張命令セットが実装されるかも書いてあって、

F CD ER PF VL BW DQ
Knights Landing o ? o o
最初に AVX-512 をサポートする Xeon o ? o o o
将来の Xeon Phi o o o o
将来の Xeon o o o o o

となるようです。空欄のところは Intel の当該記事で明記されていないというだけです。

  • AVX512CD (Conflict Detection) が Knights Landing や 最初に AVX-512 をサポートする Xeon に実装されるかどうかはあまり自信がない。実装されないことを示唆しているように読めるのだが。
  • Xeon Phi はひとまず AVX512VL や AVX512BW をサポートしない。もともとの Xeon Phi のベクタ命令セットではそもそも zmm レジスタしか無い(xmm/ymm レジスタというものがそもそも無い)し バイト/ワード 演算も無いので、それを引き継ぐのだろう。
  • 一方で Phi でない Xeon では最初から AVX512VL や AVX512BW をサポートする。これにより AVX-512 における xmm/ymm レジスタは AVX における xmm レジスタと同様の位置づけとなり、また MMX 命令でできることはおおむね SSE 命令でもでき SSE 命令でできることはおおむね AVX 命令(VEX プレフィックス命令)でもできるという流れが維持される。
  • 最初に AVX-512 をサポートする Xeon が Skylake であるかどうかは相変わらず明記されていない。
  • Xeon ではないデスクトップ/モバイル向けプロセッサがどうなるかも相変わらず明記されていない。

さてどうなりますやら。

Trackback

no comment untill now

Add your comment now