”やっと”パフォーマンスに降りてくるAVX-512それぞれの機能表。

PC Watchが命令セットについて書いている。Intel SDK関連のデータシートの内容からCannonlakeがAVX-512Fなどをサポートするというものだ。まあ、当初予定から既に2年後れており、来年で3年だ。本当は、Skylake-Sがサポートするはずだったのが、AVX-512F(Foundation)である。
https://pc.watch.impress.co.jp/docs/news/1087260.html


そこで、ここではAVX-512の命令セット種別についておさらいしておく。ちなみに、Xeon/Skylake-XシリーズにはF, CD, BW, DQ, VLが搭載されているはずだ。
現時点で分かっているAVX系の命令セット一覧は以下である。表はPCビュー専用だ。その下の画像版の方が詳しく書いてある。

AVX名称 省略の元名称/(日本語化など) 簡単な機能説明
初代AVX Advanced Vector eXtentions
(高度ベクトル拡張命令セット)
128-SIMD
256bit対応の新命令
2 Advanced Vector eXtentions-2
(Haswell New Instructions)
(第二世代高度ベクトル拡張命令セット/ハズウェル新命令セット。)
ほぼ全てのSIMDを256bit化
3オペランド対応・ベクトルシフト他
512F 512-Foundation
(高度ベクトル命令512bit基礎命令セット)
ほぼ全てのSIMDを512bit化
512bitレジスタ対応と、いくつかの新命令を搭載。
512CD Conflict Detection Instructions
(競合検出命令セット)
ループ処理などにおける競合を効率的に検出し回避するための命令。
512ER Exponential and Reciprocal Instructions
(指数と相互<関数における>命令セット)
解析関数の制御を効率化するための命令セット。Xeon Phi専用。
512PF Prefetch Instructions
(プリフェチ命令セット)
HPC向けプリフェチ命令
Xeon Phi専用。
512BW Byte and Word Instructions
(バイト・ワード命令セット)
8bit・16bitの整数演算を含むための拡張。
512DQ Doubleword and Quadword Instructions
(2倍/4倍ワード拡張命令セット)
32bit/64bitのAVX-512追加命令。
512VL Vector Length Extensions
(ベクトル長拡張命令セット)
512bit最適化のためレジスタ拡張命令。(XMM/YMM最適化)
512IFMA 52bit-Integer Fused Multiply Add
(整数融合多重加算)
52bit整数積和加算命令。
512VBMI Vector Byte Manipulation Instructions
(ベクターバイト操作命令セット)
512BWの拡張(置換命令セット)
512VNNI
(4VNNI)
Vector Neural Network Instructions Word variable precision
(ベクトルニューラルネットワーク命令ワード可変精度)
ディープラーニング用(日本でAIと呼ばれるもの)の命令セット。ワード拡張などをサポートする。反復4回。
512FMAPS
(4VNNIW)
Fused Multiply Accumulate Packed Single precision
(単精度融合多重パックド加算)
ディープラーニング用の命令セット。
単精度浮動小数点演算の融合多重加算など(反復4回)
VPOPCNTDQ Vector Population Count Doubleword and Quadword
(ベクトル個体数カウント2倍4倍ワード)
個体数値のリセット命令などがあるようだが……。
BITALG Bit Algorithms
(ビットアルゴリズム)
ビット数でも数えるか?それとも……。
VBMI2 Vector Byte Manipulation Instructions-2
(ベクターバイト操作命令セット2)
VBMIの拡張命令
VAES Vector AES Instructions
(ベクトルAES暗号化命令セット)
AES暗号化命令の追加かな?
VGFI (Vector) Galois Field Arithmetic instructions
(ガロア域アルゴリズム/有限体演算)
有限体演算。
VPCLMULQDQ (Vector) Packed Carry-less Multiply Operations 
(ベクトルキャリーレスパックド演算操作)
キャリー・ボロー関係の命令セットかな?どうも暗号化向けかな?
     



画像


正直、世代の2とか3.1(HPC向けのXeon Phi専用命令セット)、3.2(一般PC・サーバー)の方が分かりやすい。たぶん、Cannonlakeは3.3になり、Icelakeは3.4か4.0になると思うのだが、もう世代番号では呼ばれないような気がする。尚、AVX-512は使うとかなり熱くなるようだ。




ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック