”やっと”パフォーマンスに降りてくる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ビュー専用だ。その下の画像版の方が詳しく書いてある。
正直、世代の2とか3.1(HPC向けのXeon Phi専用命令セット)、3.2(一般PC・サーバー)の方が分かりやすい。たぶん、Cannonlakeは3.3になり、Icelakeは3.4か4.0になると思うのだが、もう世代番号では呼ばれないような気がする。尚、AVX-512は使うとかなり熱くなるようだ。
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は使うとかなり熱くなるようだ。
Intel CPU Core i9-7900X 3.3GHz 13.75Mキャッシュ 10コア/20スレッド LGA2066 BX80673I97900X 【BOX】
インテル
2017-06-26

Amazonアソシエイト by
インテル
2017-06-26

Amazonアソシエイト by

この記事へのコメント