Intelは「AVX10」と呼ばれる新しい拡張命令セットについてのテクニカルペーパーを公開しました。
AVX-512の動向
そもそもAVXとは「Advanced Vector Extensions」の略で、MMXやSSEの後継となっている命令で、浮動小数点演算に特化した命令です。AVXは当初256bitの演算器を利用していましたがAVX-512ではそれを512bitに拡張しました。
主の活躍の場面は、シミュレーションなどの化学分野、財務分析、深層学習、3Dモデリングなど多方面でその能力を発揮します。ただ、ワークロードが基本的にプロ向けのため当初はXeonブランドから投入され、徐々にコンシューマに降りてきた形になります。Core系統のアーキテクチャではSkylakeが対応していますが、Core Xなど一部のモデルに限られました。全面的にサポートを初めたのはSunny Coveからで、Cove系のアーキテクチャでは基本的にAVX-512に対応しています。しかしながら、Alder Lakeで採用されたIntel Hybrid Technologyで混載となったAtom系統「Gracemont」がAVX-512に対応しなかったためAlder Lake以降では無効化されています。
Core系の製品では、第10世代「Ice Lake」、第11世代「Rocket Lake」「Tiger Lake」で利用することが可能でした。
ちなみに、AVX-512は若干の仕様の差(演算器が256bitである)はあるものの、Ryzen 7000シリーズで利用することが可能になっています。
AVX10
AVX10はAVX-512の後継であり、AVX-512のすべての機能を包括しています。そのためか、AVX-512およびAVX2の命令と互換性があり、チューニングなしでAVX10へ再コンパイルすることで性能が向上するとしています。
また、Xeonでは将来的にAVX-512が並行してサポートされ続けるため、現在のアプリケーションは対応なしで引き続き利用することが出来ると説明しています。
特に特徴的なのがEコアにも対応するという点です。先述の通り、Intel Hybrid Technologyを採用するプロセッサシリーズにおいてAVX-512が利用できない理由はPコアとEコアの対応の差があるためですが、AVX10ではその差が埋められることになり、AVX-512の機能を含めて将来のCoreプロセッサで利用することが可能になります。
AVX10の導入スケジュールですが、Graphite Rapidsで初期バージョンのAVX10.1が利用可能になります。この時点では新機能・命令は追加されずAVX-512と同機能となります。
AVX10.2から本格的に実装がおこなわれ、Pコア系統とEコア系統に対応し、新命令も実装されます。
新命令については、新しいAIデータ型の他、変換や移動に最適化した命令が追加されるとのことです。