あなたの好奇心を刺激する、テックと科学の総合ニュースサイト

Intel、パフォーマンスコアと効率コアのサポートを備えた AVX512 の進化版「AVX10」命令セットを発表

Intelは本日、パフォーマンス(P)コアと効率(E)コアのハイブリッド・アーキテクチャにより、AVXベースのワークロードのパフォーマンスを強化し、提供するように設計された2つの新しいx86-64命令セットを発表した。

一つ目として「APX(Advanced Performance Extensions)」であるが、これは、消費電力やCPUコアの全体的なシリコンダイ面積に影響を与えることなく、ロード、ストア、比較命令に世代を超えた命令セット主導の改良をもたらすように設計されている。また、PコアとEコアの両方にAVX-512機能を初めて統一的にサポートする新しい「AVX10」命令セットも公開した。このAVX命令セットの進化は、IntelがAlderおよびRaptor Lakeプロセッサーに搭載された新しいx86ハイブリッド・アーキテクチャで遭遇した深刻な問題を回避するのに役立つだろう。

ただし、新しいAVX10 ISAはIntelの現行世代のCPUではサポートされず、将来のチップに搭載される予定だ。Intelによれば、AVX10はコンシューマー向けとサーバー向けプロセッサーの両方において、将来的に選択されるベクターISAになるという。

Intel AVX10(Advanced Instruction Extensions 10)

AVX-512の導入以来、Intelのコンシューマー向け命令セットに対する最も重要なアップデートの1つが、このAVX10(Advanced Instruction Extensions 10)である。概要から、今後のヘテロジニアス・プロセッサ・デザインの全コアでAVX-512をサポートするもののようだ。

以前のAVX-512命令セットと比較して、AVX10によって導入された最も重要かつ根本的な変更は、Core i9-12900Kや現在のCore i9-13900Kのようなプロセッサに代表されるヘテロジニアス・コア設計の将来的な例において、以前は無効だったAVX-512命令セットを組み込むことだ。これにより、これらのプロセッサーでAVX-512のサポートが可能になる。現在、AVX-512はIntel Xeonパフォーマンス(P)コアでのみサポートされている。AVX-512のコンシューマ向けCPUからの廃止は多くの批判を呼び、その点でこれをサポートするAMDのZen 4 CPUの優位性に繋がった。

AVX10のコアコンセプトを検討すると、コンシューマー・ベースのデスクトップ・チップはAVX-512をフルサポートすることになる。パフォーマンス(P)コアは、Intelが望めば512ビット幅のベクターをサポートする理論的能力を持つが(Intelは現在、サポートが256ビットベクターまでであることを確認している)、効率(E)コアは256ビットベクターに制限される。とはいえ、チップ全体としては、本格的なパフォーマンスコアであろうと低消費電力の効率コアであろうと、すべてのコアで完全なAVX-512命令セットをサポートできることになる。

Intel AVX10 AVX 512 Support P Core E Core CPUs
(Credit: Intel)

Intelによれば、既存のアプリケーションはAVX10でもAVX-512と同レベルの性能を発揮する。AVX10のテクニカルペーパーで、パフォーマンスについて次のように述べている:

  • Intel AVX2にコンパイルされたアプリケーションをIntel AVX10に再コンパイルした場合、ソフトウェアのチューニングを追加することなくパフォーマンスの向上を実現できるはずです。
  • ベクターレジスターのプレッシャーに敏感なIntel AVX2 アプリケーションは、16 個の追加ベクターレジスターと新しい命令により、最もパフォーマンスが向上します。
  • 高度にスレッド化されたベクトル化可能なアプリケーションは、EコアベースのIntel® Xeonプロセッサーまたはパフォーマンス・ハイブリッド・アーキテクチャーのIntel®製品で実行した場合、より高い集約スループットを達成できる可能性があります。

Intelはさらに、一例としてすでに256ビット・ベクターを利用している同社のチップは、256ビットのISOベクター長でAVX10にコンパイルしても同様の性能レベルを維持できると主張している。しかし、AVX10の真の可能性は、より実質的な512ビット・ベクトル長を活用することで明らかになり、達成可能な最高のAVX10命令セット性能が約束される事にある。これは、新しいAVX10ライブラリの導入とツールサポートの強化に沿ったもので、アプリケーション開発者は、より新しいAIや科学に特化したコードをコンパイルして最適な利益を得ることができる。さらに、既存のライブラリをAVX10/256互換で再コンパイルし、可能であれば、より大きなベクトルユニットを利用するように最適化することで、性能スループットを向上させることができる。

IntelのAVX10の最初のフェーズ(AVX10.1)では、これは早期のソフトウェアイネーブルメントのために導入され、IntelのAVX-512命令セットのサブセットをサポートし、Granite Rapids(第6世代Xeon)のパフォーマンス(P)コアがAVX10と前方互換性を持つ最初のコアとなる。AVX10.1では、256ビットの組み込みルーティングが有効にならないことは注目に値する。そのため、AVX10.1は、前方互換性と新しいバージョニング列挙スキームの実装を可能にするAVX10への導入として機能する。

Intel AVX10 AVX 512 Support P Core E Core CPUs 1
(Credit: Intel)

Intelの第6世代Xeon(コードネーム:Granite Rapids)はAVX10.1を有効にし、これ以降のチップは本格的なAVX10.2をサポートし、AVX-512もレガシー命令セットとそれらでコンパイルされたアプリケーションの互換性を可能にするためにサポートされる。なお、Intel AVX10/512にはIntelのAVX-512命令がすべて含まれているが、ベクタ長が256ビットに制限されたIntel AVX-512用にコンパイルされたアプリケーションは、サポートされるマスク・レジスタ幅の違いにより、AVX10/256プロセッサでの動作が保証されていない。

AVX10命令セットの初期サポートはAVX10.1では過渡期的な段階だが、AVX10.2が最終的にリリースされたとき、少なくともAVX10に関連する互換命令セットでは、AVX10が性能と効率において因果関係を示し始めるとみられる。AVX10を搭載した新しいプロセッサーは、以前のようにAVX-512バイナリを実行することができないため、AVX10はデフォルトで、既存のコードをAVX10で動作するように再コンパイルする開発者を可能にする。

AVX10の導入は、AVX-512スーパーセットを完全に置き換えるものだ。AVX10がIntelの将来の製品リリースを通じて広く利用できるようになれば、技術的には今後AVX-512を使用する必要はなくなる。このことがもたらす1つの課題は、512ビット幅のベクター用に特別にライブラリをコンパイルしてきたソフトウェア開発者が、AVX10がコア全体で総合的にサポートする256ビット幅のベクターで適切に動作するように、前述のようにコードを再コンパイルする必要があるということだ。

AVX-512が命令セットとしてどこかに行ってしまうわけではないが、AVX10が後方互換性を持つことは、128、256、512ビットといったさまざまなベクタ幅の命令セットをサポートする上で不可欠なことだ。開発者は、今後AVX10統一命令セットへの広範な移行と収束のために、コードとライブラリを再コンパイルすることができる。

Intelは今後、すべてのIntelプロセッサーで少なくとも256ビットの最大ベクターサイズをサポートすることを約束している。しかし、将来的にどのSKUが(もしあるとすれば)、そしてどのアーキテクチャが512ビットのフルベクターサイズをサポートするかは未知数である。

Intelの新しいAVX10命令セットは、AVX10.2が段階的に導入され、パフォーマンスコアと効率コアにかかわらず、すべてのコアで256ビット命令ベクトルを正式にサポートするようになったときに登場する。これはまた、パフォーマンスコアと効率コアの両方に128ビット、256ビット、512ビットの整数分割が含まれることを意味し、各コアの仕様に基づく完全なベクタ拡張をサポートすることになる。

Intel APX(Advanced Performance Extensions)

Intelは本日、新しいAPX(Advanced Performance Extensions)も発表した。

Intelは、APXでコンパイルされたコードは、Intel 64ベースライン用にコンパイルされた同じコードに比べて、ロードが10%、ストアが20%少ないと主張している。Intelはまた、レジスタ・アクセスは複雑なロードやストア操作よりも高速で、ダイナミック・パワーの消費も大幅に少ないと述べている。興味深いことに、新しいAPXは、Intelが2019年にMPXを放棄した際に使われずに残された128B領域の新たな用途を見つけ、XSAVEに再利用している。

以下はAPXのトップレベルの特徴である:

  • 16本の追加汎用レジスタ(GPR)R16~R31(本書では拡張GPR(EGPR)とも呼ぶ
  • 多くの整数命令用の新しいデータ・デスティネーション(NDD)レジスタを備えた3オペランド命令フォーマット
  • 条件付きISAの改良:新しい条件付きロード、ストア、比較命令と、コンパイラが一般的な命令のステータス・フラグの書き込みを抑制するオプションの組み合わせ
  • レジスタ状態の保存/復元操作の最適化
  • 新しい64ビット・アブソリュート・ダイレクト・ジャンプ命令

Intelは、APXがCPUコアのシリコン面積や消費電力に影響を与えないように実装したとしている。APXについての詳細はこちらで読むことができ、Intelはリンク先のページの下にAPXとAVX10の両方のリソースのリストを掲載している。

APXとAVX10は、Intelが最近、Intel 64アーキテクチャのスリム化を検討し、x86Sと名付けられたx86の簡易版を開発中であると発表したことを受けてのものである。


Sources

Follow Me !

\ この記事が気に入ったら是非フォローを! /

Share on:

関連コンテンツ

おすすめ記事

コメントする