高度なベクター拡張機能AVXは16個のYMMレジスタを使用して、複数のデータに対して単一の命令を実行します(SIMDを 参照)。各YMMレジスタは、以下のデータを保持し、同時演算(数学演算)を実行できます。
8 つの 32 ビット単精度浮動小数点数または 64ビット倍精度浮動小数点数が4つ。 SIMDレジスタの幅が128ビットから256ビットに拡張され、レジスタ名もXMM0~XMM7からYMM0~YMM7に変更されました(x86-64 モードでは、XMM0~XMM15からYMM0~YMM15に変更)。従来のSSE命令は 、VEXプレフィックス を介して引き続き使用でき、YMMレジスタの下位128ビットを操作できます。
AVX では、宛先レジスタが 2 つのソース オペランドとは異なるVEX コーディング スキーム と呼ばれる 3 つのオペランド SIMD 命令フォーマットが導入されました。たとえば、従来の 2 つのオペランド形式a ← a + b を使用するSSE 命令は、ソース オペランドの両方を保持したまま、非破壊的な 3 つのオペランド形式c ← a + b を使用できるようになりました。当初、AVX の 3 つのオペランド フォーマットは SIMD オペランド (YMM) を持つ命令に限定されており、汎用レジスタ (EAX など) を持つ命令は含まれていませんでした。その後、BMIなどの後の拡張機能で、汎用レジスタに対する新しい命令をコーディングするために使用されました。VEX コーディングは、 AVX-512 で導入された k0-k7 マスク レジスタを操作する命令にも使用されます。
SIMD メモリ オペランドのアライメント要件は緩和されています。[ 5 ] VEXで コード化されていないものとは異なり、ほとんどの VEX コードのベクトル命令では、メモリ オペランドがベクトル サイズにアライメントされている必要はありません。注目すべきは、このVMOVDQA命令では依然としてメモリ オペランドがアライメントされている必要があることです。
新しいVEX コーディング方式では、 オペコード 空間を拡張し、命令が 2 つ以上のオペランドを持つことを可能にし、SIMD ベクトルレジスタを 128 ビットより長くすることを可能にする新しいコード接頭辞セットが導入されます。VEX 接頭辞は、従来の SSE 命令にも使用でき、3 つのオペランド形式にして、VZEROUPPERおよびを必要とせずに AVX 命令とより効率的にやり取りできるようにしますVZEROALL。
AVX命令は128ビットと256ビットの両方のSIMDをサポートしています。128ビット版は、ベクトル化を広げることなく古いコードを改善し、SSEからAVXへの移行に伴うペナルティを回避するのに役立ちます。また、初期のAMD AVX実装では高速です。このモードはAVX-128と呼ばれることもあります。[ 6 ]
SSEシリーズと比較して、AVXはデジタルメディア 再生、ウェブブラウジング 、非対称暗号化 などのパフォーマンスをさらに向上させた。
New instructions これらのAVX命令は、従来の128ビットSSE命令を256ビットに拡張した命令に加えて提供されるものであり、そのほとんどは128ビットと256ビットの両方のオペランドで使用可能です。
AVX対応CPU 将来のIntel製プロセッサとAMD製プロセッサ間の互換性に関する問題については、XOP命令セットの 項で説明します。
経由 : 昭信 : WuDaoKou社製プロセッサ(KX-5000およびKH-20000)
コンパイラおよびアセンブラのサポート Absoftは -mavx フラグをサポートしています。Free Pascal コンパイラは、バージョン2.7.1以降、-CfAVXおよび-CfAVX2スイッチを使用してAVXおよびAVX2をサポートします。 RAD studio (v11.0 Alexandria) は AVX2 と AVX-512 をサポートしています。[ 12 ] GNUアセンブラ (GAS) のインライン アセンブリ関数はこれらの命令をサポートしており (GCC 経由でアクセス可能)、Intel のプリミティブと Intel インライン アセンブラも同様です (GAS とほぼ互換性がありますが、インライン コード内のローカル参照の処理はより汎用的です)。GAS は binutils バージョン 2.19 以降で AVX をサポートしています。[ 13 ] GCCは バージョン4.6以降(ただし、特定のサポートを備えた4.3ブランチも存在した)で、Intel Compiler Suiteはバージョン11.1以降でAVXをサポートするようになった。Open64コンパイラバージョン4.5.1は、-mavxフラグによるAVXをサポートしてい ます 。 PathScaleは -mavx フラグを介してサポートします。Vector Pascalコンパイラは、 -cpuAVX32 フラグを介してAVXをサポートします。 Visual Studio 2010 / 2012 コンパイラは、組み込み関数と/arch:AVX スイッチを介して AVX をサポートします。 NASMは バージョン2.03以降から対応しています。バージョン2.04では、AVXに関連する多数のバグ修正とアップデートが行われました。[ 14 ] MASM VS2010 バージョン、YASM 、[ 15 ] FASM およびJWASM などの他のアセンブラ。
高度なベクター拡張機能 2Advanced Vector Extensions 2 (AVX2) は、 Haswell New Instructions とも呼ばれ、[ 25 ] Intel のHaswell マイクロアーキテクチャ で導入された AVX 命令セットの拡張です。AVX2 では、以下の機能が追加されています。
ほとんどのベクトル整数SSEおよびAVX命令が256ビットに拡張される 非連続メモリ位置からベクトル要素をロードできるようにするためのサポートを集める DWORDおよびQWORD粒度の 任意の組み合わせベクトルシフト。 3オペランド積和演算 (FMA3)拡張機能は、Intelが同じプロセッサマイクロアーキテクチャで導入したため、AVX2の一部とみなされることがあります。しかし、これは独自のCPUID フラグを使用する独立した拡張機能であり、その詳細は別のページ に記載されています(以下では説明しません)。
AVX-512 AVX-512 は、 2013年7月にインテル が提案したx86命令セットアーキテクチャ用の256ビットAdvanced Vector Extensions SIMD命令の512ビット拡張です。[ 3 ]
AVX-512命令は、新しいEVEXプレフィックス でエンコードされます。これにより、4つのオペランド、8つの新しい64ビットopmaskレジスタ 、自動ブロードキャスト付きスカラーメモリモード、明示的な丸め制御、および圧縮変位メモリアドレッシングモードが可能になります 。レジスタファイルの幅は512ビットに拡張され、x86-64モードではレジスタの総数が32(レジスタZMM0~ZMM31)に増加します。
AVX-512は複数の命令サブセットで構成されており、それらすべてが実装するすべてのプロセッサでサポートされるとは限りません。命令セットは以下のとおりです。
AVX-512 Foundation (F) – いくつかの新しい命令を追加し、32ビットおよび64ビット浮動小数点SSE-SSE4.1およびAVX/AVX2命令のほとんどをEVEXコーディング方式 で拡張し、512ビットレジスタ、演算マスク、パラメータブロードキャスト、組み込み丸めおよび例外制御をサポートします。 AVX-512競合検出命令(CD)- より多くのループをベクトル化できるようにするための効率的な競合検出、Knights Landing [ 3 ]でサポートされています。 AVX-512 指数および逆数命令 (ER) – 超越演算の実装を支援するために設計された指数および逆数演算、Knights Landing [ 3 ]によってサポートされています。 AVX-512 プリフェッチ命令 (PF) – Knights Landing [ 3 ] でサポートされる新しいプリフェッチ機能 AVX-512 ベクトル長拡張 (VL) – ほとんどの AVX-512 操作を XMM (128 ビット) および YMM (256 ビット) レジスタ (x86-64 モードの XMM16-XMM31 および YMM16-YMM31 を含む) でも操作できるように拡張します[ 26 ] AVX-512 バイトおよびワード命令 (BW) – AVX-512 を拡張して 8 ビットおよび 16 ビットの整数演算をカバーする[ 26 ] AVX-512 ダブルワードおよびクワッドワード命令 (DQ) – 拡張された 32 ビットおよび 64 ビット整数演算[ 26 ] AVX-512整数融合乗算加算 (IFMA)– 512ビット整数の融合乗算加算。[ 27 ] : 746 AVX-512 ベクトルバイト操作命令 (VBMI) は、AVX-512BW には存在しないベクトルバイト順列命令を追加します。 AVX-512 ベクトルニューラルネットワーク命令 ワード可変精度 (4VNNIW) – ディープラーニング用のベクトル命令。 AVX-512 融合乗算累積パック単精度 (4FMAPS) – ディープラーニング向けベクトル命令。 VPOPCNTDQ – ビット数が 1 に設定されている。[ 28 ] VPCLMULQDQ – クワッドワードのキャリーなし乗算。[ 28 ] AVX-512 ベクトルニューラルネットワーク命令 (VNNI) – ディープラーニングのためのベクトル命令。[ 28 ] AVX-512 ガロア体新命令 (GFNI) – ガロア体 を計算するためのベクトル命令。[ 28 ] AVX-512 ベクトルAES命令(VAES)– AES 符号化のためのベクトル命令。[ 28 ] AVX-512 ベクトルバイト操作命令 2 (VBMI2) – バイト/ワードのロード、ストア、シフト付き連結。[ 28 ] AVX-512 ビット アルゴリズム (BITALG) – VPOPCNTDQ を拡張したバイト/ワードビット操作 命令。[ 28 ] AVX-512 Bfloat16 浮動小数点命令(BF16)– AI高速化のためのベクトル命令。 AVX-512半精度 浮動小数点命令 (FP16) – 精度を下げて浮動小数点数および複素数を操作するためのベクトル命令。 AVX-512ビット操作命令(BMM)– ビット行列乗算およびビット反転命令。 すべての実装で必須となるのはコア拡張機能AVX-512F(AVX-512 Foundation)のみですが、現在のすべての実装はCD(競合検出)もサポートしています。AVX-512を搭載したすべての中央処理装置は、VL、DQ、BWもサポートしています。ER、PF、4VNNIW、4FMAPS命令セット拡張機能は、現在Intelコンピューティングコプロセッサでのみ実装されています。
AVX-512Fで更新されたSSE/AVX命令は、AVXバージョンと同じニーモニックを使用します。512ビットZMMレジスタで動作でき、128/256ビットXMM/YMMレジスタ(AVX-512VL使用時)およびバイト、ワード、ダブルワード、クワッドワードの整数オペランド(AVX-512BW/DQおよびVBMI使用時)もサポートします。[ 27 ] : 23
販売終了となったサブセットは以下のとおりです。
AVX-512 ベクトルペアの交差とマスクレジスタのペア (VP2INTERSECT) – ダブルワード/クワッドワードとマスクレジスタのペアの交差を計算します。Intelではサポートが終了しています が、AMD では引き続きサポートされています。 Xeon Phi ER、PF、4FMAPS、4VNNIW。
AVX-512 CPU互換性表 [ 29 ]
^注 1 : Intel はAlder Lake で AVX-512 命令ファミリーを公式にはサポートしていません。2022 年初頭、Intel は顧客が AVX-512 を有効にできないように、Alder Lake マイクロプロセッサで AVX-512 をシリコン内で無効化 (ヒューズオフ) し始めました。 [ 30 ] BIOS とマイクロコード改訂版のレガシーな組み合わせを持つ古い Alder Lake ファミリー CPU では、AVX-512 用のシリコンが含まれていない効率コアをすべて無効にすると、AVX-512 ファミリー命令を実行できる可能性があります。 [ 31 ] [ 32 ] [ 33 ]
AVX-VNNI、AVX-IFMAAVX-VNNIは、AVX512-VNNI命令セット拡張の VEX 符号化バリアントです。同様に、AVX-IFMAはAVX512-IFMA のVEX 符号化バリアントです。これらの拡張機能は、対応するAVX-512と同じ演算セットを提供しますが、256ビットベクトルに制限されており、ブロードキャスト、opmaskレジスタ、16を超えるベクトルレジスタへのアクセスなど、 EVEX 符号化の追加機能はサポートしていません。これらの拡張機能により、プロセッサにAVX-512 が実装されていない場合でも、VNNIおよびIFMA演算をサポートできます。
AVX-NE-CONVERT AVX-NE-CONVERTは、 Bfloat16 (BF16)、半精度 (FP16)、単精度 (FP32)の浮動小数点数間の変換を行うための命令セットを導入します。これらの新しい命令はVEX コードで記述されているため、AVX2ベクトルレジスタに限定され、AVX-512のopmaskサポートは利用できません。ブロードキャストは、メモリから数値をロードするための2つの特殊命令によってのみサポートされ、命令エンコーディング機能としてはサポートされていません。
AVX-VNNI-INT8、AVX-VNNI-INT16これらの命令セットは、一連の命令に対してより多くの入力データ型の組み合わせをサポートすることで、AVX-VNNI拡張機能をさらに拡張します。AVX -VNNI の命令では、最初の入力オペランドとして符号なしバイトのベクトル、2番目の入力オペランドとして符号付きバイトのベクトルを受け取りますが、AVX-VNNI-INT8では、任意の位置で符号付きおよび符号なしバイト入力をサポートするこれらの命令のバリアントが追加されます。同様に、AVX- VNNI では、入力オペランドとして2つの符号付き16ビットワードのベクトルを受け取りますが、AVX-VNNI-INT16では、任意の位置で符号付きおよび符号なし16ビットワード入力のサポートが追加されます。VPDP*VPDPBUSD(S)VPDPWSSD(S)
符号付き入力と符号なし入力の両方を受け入れる命令については、入力の順序(符号付き/符号なし、符号なし/符号付き)に応じて異なる命令が用意されています。これは、 VEX エンコーディングでは2番目の入力オペランドのみがメモリオペランドとしてサポートされているためです。これにより、サポートされている任意のデータ型を命令によってメモリからロードできます。
New instructions in AVX-VNNI-INT8
New instructions in AVX-VNNI-INT16
AVX10 2023 年 7 月に発表された AVX10 [ 40 ] は、新しい「統合型」 AVX 命令セットです。AVX-512 のいくつかの問題、特に分割が多すぎるという問題[ 41 ] (20 個の機能フラグ) に対処しています。最初の技術文書では 512 ビットベクトルのサポートはオプションでしたが、改訂 3.0 以降ではベクトル長の列挙が削除され、512 ビットベクトルは必須になりました。[ 42 ]
AVX10 は、命令サポートをテストするための簡略化された CPUID インターフェイスを提供します。これは、AVX10 バージョン番号 (サポートされている命令セットを示し、後のバージョンは常に以前のバージョンのスーパーセットです) で構成されます。[ 43 ] 例えば、AVX10.2 は、CPU が AVX10 の 2 番目のバージョンに対応していることを示します。[ 44 ] AVX10 技術仕様の初期改訂では、ISA 拡張名の一部としてサポートされる最大ベクトル長も含まれていました。たとえば、AVX10.2/256 は、ベクトル長が最大 256 ビットの AVX10 の 2 番目のバージョンを意味しますが、後の改訂では不要になりました。
AVX10 の最初のバージョンである AVX10.1 では、 AVX-512 に既に含まれ ていた命令やエンコード機能 (具体的には Intel Sapphire Rapids ではAVX-512F、CD、VL、DQ、BW、IFMA、VBMI、VBMI2、BITALG、VNNI、GFNI、VPOPCNTDQ、VPCLMULQDQ、VAES、BF16、FP16) を超える命令やエンコード機能は導入されていません。AVX10 と 512 ビット ベクトルをサポートする CPU では、AVX-512 をサポートするアプリケーションが AVX-512 命令を引き続き使用できるように、従来の AVX-512 機能フラグはすべて設定されたままになります。[ 44 ]
AVX10.1はIntel Granite Rapids [ 44 ] (2024年第3四半期)で初めてリリースされ、AVX10.2はDiamond Rapids [ 45 ] とNova Lake [ 46 ] で利用可能になる予定です。
アプリケーション マルチメディア、科学、金融アプリケーションにおける浮動小数点 演算を多用する計算に適しています(AVX2は整数 演算のサポートを追加します)。 浮動小数点SIMD 計算における並列処理能力とスループットを向上させます。 非破壊命令を使用することで、レジスタ負荷を軽減します。 Linux RAIDソフトウェアのパフォーマンスを向上させます(AVX2が必要で、AVXでは不十分です)[ 47 ]
ソフトウェア 暗号化 BSAFE Cツールキットは、さまざまな暗号アルゴリズムを高速化するために、必要に応じてAVXおよびAVX2を使用します。[ 48 ] OpenSSLは バージョン1.0.2以降、AVXおよびAVX2に最適化された暗号化関数を使用しています。[ 49 ] AVX-512のサポートはバージョン3.0.0で追加されました。[ 50 ] これらの最適化の一部は、LibreSSLなどのさまざまなクローンやフォークにも存在します。
ダウンクロック AVX命令は命令サイズが大きいため、消費電力と発熱量が多くなります。高クロック周波数で負荷の高いAVX命令を実行すると、負荷変動時の電圧降下が大きくなり、CPUの安定性に影響を与える可能性があります。一部のIntelプロセッサには、このような命令の実行時に ターボブースト 周波数の上限を下げる機能が備わっています。この周波数低下は、CPUが熱的および消費電力の上限に達していない場合でも発生します。
Skylake とその派生製品では、スロットリングは3つのレベルに分けられます。[ 68 ] [ 69 ]
L0 (100%): 通常のターボブースト制限値。 L1(約85%):AVXブーストの上限。256ビットの「ヘビー」(浮動小数点演算ユニット:浮動小数点演算と整数乗算)命令によってソフトトリガーされ、512ビットの「ライト」(その他すべて)命令によってハードトリガーされる。 L2(約60%):AVX-512ブーストの上限。512ビットの重い命令によってソフトトリガーされる。 周波数遷移は、ソフト遷移またはハード遷移のいずれかになります。ハード遷移とは、そのような命令が検出されるとすぐに周波数が低下することを意味します。ソフト遷移とは、一致する命令のしきい値数に達した後にのみ周波数が低下することを意味します。制限はスレッドごとです。[ 68 ]
アイスレイク では、2つのレベルのみが残っています。[ 70 ]
L0 (100%): 通常のターボブースト制限値。 L1(約97%):512ビット命令によってトリガーされますが、シングルコアブーストが有効な場合のみトリガーされ、マルチコアがロードされている場合はトリガーされません。 Rocket Lake プロセッサは、ベクトルサイズに関係なく、いかなる種類のベクトル命令を実行しても周波数低下を引き起こしません。[ 70 ] ただし、熱や電力の制限に達するなど、他の理由でクロックダウンが発生する場合があります。
クロックダウンとは、Intel プロセッサで混合ワークロードにおいて AVX を使用すると、周波数の低下を招く可能性があることを意味します。このような場合、幅の広い重い命令の使用を避けることで、その影響を最小限に抑えることができます。AVX-512VL では、AVX-512 命令で 256 ビットまたは 128 ビットのオペランドを使用できるため、混合負荷のデフォルトとして適切です。[ 71 ]
クロックダウンをサポートするロック解除済みのプロセッサでは、クロック比低下オフセット(通常はAVXおよびAVX-512オフセットと呼ばれる)は調整可能であり、Intelのオーバークロック/チューニングユーティリティまたはBIOS(サポートされている場合)で完全にオフ(0xに設定)にすることができます。[ 72 ]
参考文献 ↑ Kanter, David (2010年9月25日). 「IntelのSandy Bridgeマイクロアーキテクチャ」 . www.realworldtech.com . 2018年 2月17日 取得 。 ↑ Hruska, Joel (2011年10月24日) 「Bulldozerの分析:AMDのチップがなぜこんなに期待外れなのか - 5ページ中4ページ目 - ExtremeTech」 。ExtremeTech 。 2018年 2月17日 取得 。 1 2 3 4 5 James Reinders (2013年7月23日)、 「AVX-512命令」 、 Intel 、 2013年 8月20日取得 ↑ 「Intel Xeon Phi Processor 7210 (16GB、1.30 GHz、64コア) 製品仕様」 。Intel ARK (製品仕様) 。 2018年 3月16日 取得。 ↑ "14.9". Intel 64 および IA-32 アーキテクチャ ソフトウェア開発者マニュアル 第 1 巻: 基本アーキテクチャ (PDF) (-051US 版)。インテル コーポレーション。p. 349。2014 年 8 月 23 日 取得 。VEX プレフィックスを持つほとんどの命令のメモリ引数は、(従来の SSE 命令とは異なり) バイト単位のアライメントで #GP(0) を引き起こすことなく正常に動作します。 ↑ 「i386 および x86-64 オプション - GNU コンパイラ コレクション (GCC) の使用」 。2014 年 2 月 9 日 に取得。 ↑ 「Intel、AMD、VIA CPUのマイクロアーキテクチャ:アセンブリプログラマとコンパイラメーカーのための最適化ガイド」 (PDF) 。 2016年 10月17日 取得 。 ↑ 「チェスプログラミング AVX2」 。 2017年7月10日に オリジナルからアーカイブ済み 。 2016年 10月17日 に取得。 ↑ 「インテルがネハレムとララビーのプレビューを公開」 。ExtremeTech。2008年3月17日。 1 2 「Intel® Celeron® 6305 プロセッサー (4M キャッシュ、1.80 GHz、IPU 搭載) 製品仕様」 . ark.intel.com . 2020 年 11 月 10 日 取得 . ↑ Butler, Michael; Barnes, Leslie; Das Sarma, Debjit; Gelinas, Bob (2011 年 3 月~4 月) 「Bulldozer: マルチスレッドコンピューティング性能へのアプローチ」 (PDF) . IEEE Micro . 31 (2): 6– 15. doi : 10.1109/MM.2011.23 . S2CID 28236214 . 2024 年 5 月 19 日に オリジナル (PDF) からアーカイブされました。 ↑ 「新機能 - RAD Studio」 。docwiki.embarcadero.com 。 2021年 9 月17日 取得 。 ↑ 「GASの変更」 . sourceware.org . 2024年 5月3日 取得。 1 2 「NASM - ネットワイドアセンブラ、付録 C: NASM バージョン履歴」 . nasm.us . 2024 年 5 月 3 日 取得 . ↑ 「 YASM 0.7.0 リリースノート」 。yasm.tortall.net 。 ↑ amd64 上で拡張 FPU ステートのサポートを追加 (ネイティブ 64 ビットおよび 32 ビット ABI の両方に対応) 、svnweb.freebsd.org、2012 年 1 月 21 日、 2012 年 1 月 22 日 取得 ↑ 「FreeBSD 9.1-RELEASE のお知らせ」 。 2013年 5月20日 取得 。 ↑ x86: LinuxカーネルにYMM状態のサポートを追加 ( 2009年 7月13日 取得) ↑ Linux 2.6.30 - Linuxカーネル初心者向けガイド ( 2009年 7月13日 取得) ↑ Twitter 、 2010年 6月23日取得 ↑ 「開発者たちは、サポート対象外の10年前のMacでmacOS Venturaを動作させるための作業を進めている」 。2022年8月23日。 ↑ XSAVE/XRSTOR を使用した FPU 状態の保存/復元をサポートしました。 ( 2015年 3月25日 取得) ↑ 64ビットドライバの浮動小数点サポート ( 2009年 12月6日 取得) ↑ Zhang, Rui (2020年2月27日). "MSVCにおけるAVX-512自動ベクトル化" . C++チームブログ. 2026年 6月13日 取得 . ↑ Haswellの新しい命令記述が利用可能になりました 、Software.intel.com 、 2012年 1月17日 取得 1 2 3 James Reinders (2014年7月17日)。 「追加のAVX-512命令」 。Intel 。 2014年 8月3日 取得 。 1 2 「Intelアーキテクチャ命令セット拡張プログラミングリファレンス」 (PDF) 。Intel 。 2014年 1月29日 取得 。 1 2 3 4 5 6 7 「Intel® アーキテクチャ命令セット拡張および将来の機能プログラミングリファレンス」 。Intel。2017 年 10 月 16 日 取得 。 ↑ 「Intel® Software Development Emulator | Intel® Software」 。software.intel.com 。 2016年 6月11日 取得 。 ↑ アルコーン、ポール(2022年3月2日)。 「インテル、Alder LakeのAVX-512サポートを削除、シリコン上で完全に無効化」 。Tom 's Hardware 。 2022年 3月7日 取得 。 ↑ Cutress, Ian; Frumusanu, Andrei (2021年8月19日)。 「Intel Architecture Day 2021: Alder Lake、Golden Cove、Gracemontの詳細」 。AnandTech 。 2021年8月25日の オリジナル からアーカイブ済み。 2021年 8月25日 に取得 。 ↑ アルコーン、ポール(2021年8月19日)。 「インテル アーキテクチャ デー 2021:アルダー レイク チップ、ゴールデン コーブ、グレースモント コア」 。 トムズ ハードウェア。 2021年 8月21日 取得 。 ↑ Cutress, Ian; Frumusanu, Andrei. "The Intel 12th Gen Core i9-12900K Review: Hybrid Performance Brings Hybrid Complexity" . www.anandtech.com . 2021年11月4日の オリジナルからアーカイブ済み。 2021年 11月5日 取得 。 ↑ "LLVM 3.9 リリースノート — LLVM 3.9 ドキュメント" . releases.llvm.org . 2017 年 4 月 3 日 取得 . ↑ "GCC 4.9 リリース シリーズ — 変更点、新機能、および修正点 – GNU プロジェクト - フリー ソフトウェア財団 (FSF)" . gcc.gnu.org . 2017 年 4 月 3 日 取得 . ↑ 「Intel® Parallel Studio XE 2015 Composer Edition C++ リリース ノート | Intel® Software」 。software.intel.com。2017 年 4 月 3 日 取得 。 ↑ 「Microsoft Visual Studio 2017 が Intel® AVX-512 をサポート」 。2017 年 7 月 11 日。 ↑ 「AMD Zen 5コンパイラ の サポートがGCC向けに公開されました - 新しいAVX機能などを確認」 。www.phoronix.com 。 2024年 2月10日 取得 。 1 2 3 " [ パッチ ] AMD znver6 プロセッサのサポートを追加" 。2025 年 11 月 19 日。 ↑ Bonshor, Gavin (2023年7月25日). 「IntelがAVX10とAPX命令セットを発表:ハイブリッドアーキテクチャ向けにAVX-512を統合」 . AnandTech . 2023年7月25日の オリジナルからアーカイブ済み。 2024年 8月21日 取得 。 ↑ マン、トビアス(2023年8月15日)。 「インテルのAVX10は、AVX-512の利点を余計な負担なしに約束する」 。www.theregister.com 。 2023年 8月20日 取得 。 ↑ Larabel, Michael (2025年3月19日). 「Intel AVX10、オプションの512ビットを削除:将来的にAVX10 256ビットのみのEコアは存在しない」 . Phoronix . 2025年 3月19日 取得 。 ↑ 「コンバージド ベクトル ISA: Intel® Advanced Vector Extensions 10 テクニカル ペーパー 」 。Intel 。 1 2 3 「Intel® Advanced Vector Extensions 10 (Intel® AVX10) アーキテクチャ仕様」 。Intel 。 ↑ Larabel, Michael (2024年10月23日). 「Intel、Diamond Rapidsに先立ち、GCCコンパイラを新しいAMXおよびISA機能に対応させる準備」 . Phoronix . 2024年 10月23日 取得 。 ↑ 「Intel、Nova LakeがAVX10.2とAPX拡張機能をサポートすることを正式に確認」 。www.phoronix.com 。 2025年 11月13日 取得 。 ↑ 「Linux RAID」 . LWN. 2013年2月17日。 {{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)↑ 「BSAFE暗号ライブラリ実装の比較」 。2023年7月25日。 ↑ 「OpenSSLのパフォーマンス向上」 。2015年5月26日。 2017年 2月28日 取得 。 ↑ 「OpenSSL 3.0.0 リリースノート」 。GitHub 。 2021年9月7日。 ↑ ミラノ、ヤロシュ。ストラコシュ、ペトル。ジーハ、ルボミル(2022年5月28日)。 「AVX-512 ベクトル化を使用した Blender でのレンダリング」 (PDF) 。 インテル エクストリーム パフォーマンス ユーザー グループ 。 オストラヴァ工科大学 。 2022 年 10 月 28 日 に取得 。 ↑ 「MASSIVE X には AVX 互換プロセッサが必要です」 。Native Instruments。2019 年 11 月 29 日 取得 。 ↑ 「dav1d: 最初のリリースのパフォーマンスと完了」 。2018年11月21日。 2018年 11月22日 取得 。 ↑ 「dav1d 0.6.0 リリースノート」 。2020年3月6日。 ↑ 「SVT-AV1 0.7.0 リリースノート」 。2019年9月26日。 ↑ 「ArcGIS Data Store 11.2 システム要件」 。ArcGIS Enterprise 。 2024年 1月24日 取得 。 ↑ 「Prime95 リリースノート」 。 2022年 7月10日 取得 。 ↑ 「Einstein@Home アプリケーション 」 ↑ "Tensorflow 1.6" . GitHub . ↑ バージョン19.0の新機能 – EmEditor(テキストエディタ) ↑ 「Microsoft Teams のハード ウェア 要件」 。Microsoft。2020 年 4 月 17 日 取得 。 ↑ 「Teams 会議の背景ノイズを低減する」 。Microsoft サポート。2021 年 1 月 5 日 取得 。 ↑ Langdale, Geoff; Lemire, Daniel ( 2019). "毎秒ギガバイトのJSONを解析". The VLDB Journal . 28 (6): 941–960 . arXiv : 1902.08318 . doi : 10.1007/s00778-019-00578-5 . S2CID 67856679 . ↑ 「simdjson 2.1.0 リリースノート」 。GitHub 。 2022年6月30日。 ↑ Larabel, Michael (2023年10月6日). "OpenJDKがIntelのx86-simd-sortを統合し、データソートを7~15倍高速化" . Phoronix . ↑ Larabel, Michael (2022年7月7日). "Tesseract OCR 5.2エンジンがAVX-512Fで成功を収める" . Phoronix . ↑ Szewczyk, Chris (2021年11月24日). 「RPCS3 PS3エミュレータは、AVX-512が有効なIntel Alder Lake CPUで大幅に性能が向上します」 . PC Gamer . 2023年 10月11日 閲覧 。 1 2 Lemire, Daniel (2018年9月7日). "AVX-512: これらの新しい命令をいつどのように使用するか" . Daniel Lemireのブログ 。 ↑ BeeOnRope. "SIMD命令によるCPU周波数の低下" . Stack Overflow . 1 2 Downs, Travis (2020年8月19日)。 「Ice Lake AVX-512のクロックダウン」 。Performance Mattersブログ 。 ↑ "x86 - 単純な配列処理ループにおける AVX 512 と AVX2 のパフォーマンス" . Stack Overflow . ↑ 「Intel® Extreme Tuning Utility (Intel® XTU) オーバークロックガイド :高度なチューニング」 。Intel 。 2021年 7月18日 取得 。 リンク先のセクションの画像を参照してください。AVX2比率が0に設定されています。
外部リンク Intel Intrinsics ガイド x86アセンブリ言語リファレンスマニュアル