ストリーミングSIMD拡張命令
(Intel AVX から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/03/12 00:44 UTC 版)
ストリーミングSIMD拡張命令(英: Streaming SIMD Extensions、略称:SSE)は、インテルが開発したCPUのSIMD拡張命令セット、およびその拡張版の総称である。
注釈
出典
- ^ 元麻布春男 (2005年3月4日). “デュアルコア+HTはゼニが取れる技術か”. PC Watch. 元麻布春男の週刊PCホットライン. 2019年12月22日閲覧。
- ^ a b c d e f 後藤弘茂 (2006年10月4日). “SSE4命令とアクセラレータから見えるIntel CPUの方向性”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ 後藤弘茂 (1998年10月8日). “MPEG-2のエンコードまで実現できるKatmaiの新命令”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ 後藤弘茂 (1997年9月8日). “SGIがWintelワークステーションを来年投入?”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ “米Intel、Coppermine-128kことCeleron 600/566MHz”. PC Watch (2000年3月29日). 2019年12月22日閲覧。
- ^ 笠原一輝 (2000年3月31日). “Coppermine-128K 600/533A MHzをベンチマーク”. PC Watch. AKIBA PC Hotline. 2019年12月22日閲覧。
- ^ 鈴木直美 (2001年8月31日). “第179回:8月20日~8月24日”. PC Watch. 鈴木直美の「PC Watch先週のキーワード」. 2019年12月22日閲覧。
- ^ 笠原一輝 (2001年10月10日). “Pentium 4キラーとなりうるAMDの強力な新製品 Athlon XPプロセッサの実力を探る”. PC Watch. AKIBA PC Hotline. 2019年12月22日閲覧。
- ^ 後藤弘茂. “ソフト開発者にはSSE2命令への移行を推奨”. PC Watch. 2019年12月22日閲覧。
- ^ a b 後藤弘茂 (2010年9月17日). “なぜSandy Bridgeはそんなにパフォーマンスが高いのか”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ a b 2011-01-03 (米田聡). “Sandy Bridgeがやってきた!~プロセッサの基本性能は順当に向上”. 4Gamer.net. 2019年12月22日閲覧。
- ^ a b c d 後藤弘茂. “AMDのAVXサポートとBulldozerのクラスタ型マイクロアーキテクチャ”. 後藤弘茂のWeekly海外ニュース. 2019年11月18日閲覧。
- ^ 本間文 (2010年10月12日). “AMD,Bulldozerアーキテクチャ採用の新世代CPU「FX」を正式発表。発売は10月下旬以降に”. 4Gamer.net. 2019年12月22日閲覧。
- ^ 後藤弘茂 (2011年3月2日). “8コアCPUを低コストに実現したBulldozer”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ 大原雄介 (2012年9月24日). “インテルCPU進化論 Haswellで導入されるCPUの改良 後編”. ASCII.jp. ロードマップでわかる!当世プロセッサー事情. 2019年11月18日閲覧。
- ^ “【イベントレポート】AMD、Carrizoを「第6世代AMD Aシリーズ プロセッサ」として発表 - PC Watch”. (2015年6月3日) 2015年12月15日閲覧。
- ^ "Haswellマイクロアーキテクチャの実行ユニット ... Execution Unit ... SIMD Misc ... # of Ports ... 1 ... Instructions ... (v)pmadd*" p.32 of Intel. (2017). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-037 July 2017. iSUS訳.
- ^ "Haswellマイクロアーキテクチャの実行ユニット ... Execution Unit ... SIMD ALU ... # of Ports ... 2 ... Instructions ... (v)padd*" p.32 of Intel. (2017). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-037 July 2017. iSUS訳.
- ^ "Skylake Client Microarchitecture Execution Units ... Execution Unit ... Vec Mul ... # of Unit ... 2 ... Instructions ... (v)pmadd*" p.2_27 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Skylake Client Microarchitecture Execution Units ... Execution Unit ... Vec ALU ... # of Unit ... 3 ... Instructions ... (v)paddb/w/d/q" p.2_27 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Ice Lake Client Microarchitecture Execution Units ... Execution Unit ... Vec Mul ... # of Unit ... 2 ... Instructions ... (v)pmadd*" p.2_13 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Ice Lake Client Microarchitecture Execution Units ... Execution Unit ... Vec ALU ... # of Unit ... 3 ... Instructions ... (v)paddb/w/d/q" p.2_13 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Golden Cove Microarchitecture Execution Units ... Execution Unit ... Vec Mul/FMA ... # of Unit ... 2x256-bit (1 or 2)x512-bit ... Instructions ... (v)pmadd*" p.2_9 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Golden Cove Microarchitecture Execution Units ... Execution Unit ... Vec ALU ... # of Unit ... 3x256-bit ... Instructions ... (v)paddb/w/d/q" p.2_8 of Intel. (2022). Intel® 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-045 February 2022.
- ^ "Intel® AVX2 Vector Neural Network Instructions (AVX2 VNNI) Vector instructions for deep learning extension for AVX2." Intel. Core™ Processors Datasheet, Volume 1 of 2. 2022-04-04閲覧.
- ^ "Intel® SDP for Desktop Based on Alder Lake S ... Supported Technologies ... Intel® AVX2 VNNI" Intel. Core™ Processors Datasheet, Volume 1 of 2. 2022-04-04閲覧.
- ^ "VPDPBUSD_YMMi32_YMMu32_YMMu32 ... throughput ... 0.5 ... Latency ... 5" L.2266 of Intel. (2022). Intel® Processors and Processor Cores based on Golden Cove Microarchitecture. March 2022 Revision 2.0.
- ^
_mm_dpbusds_epi32
(XMM128bit)では CPIが同等の0.5であることが明示されている。Intel Intrinsics Guide - ^ 後藤弘茂 (2019年2月1日). “Intelの10nm世代CPUコア「Sunny Cove」のカギとなるAVX-512”. PC Watch. 後藤弘茂のWeekly海外ニュース. 2019年12月22日閲覧。
- ^ “インテル® Xeon Phi™ コプロセッサー 7120P (16GB、1.238 GHz、61 コア) - 製品仕様 | インテル”. Intel. 2024年3月12日閲覧。
- ^ “Intel® Architecture Instruction Set Extensions Programming Reference” (pdf) (英語). p. 12(1-2). 2018年4月30日時点のオリジナルよりアーカイブ。2017年11月9日閲覧。 AVX512F, AVX512CDのみ搭載されている旨が判る。
- ^ “「Zen 4」コアでAVX-512対応を表明”. PC Watch (2019年2月1日). 2022年6月17日閲覧。
- ^ “Intel Architecture Day 2021: Alder Lake, Golden Cove, and Gracemont Detailed” (英語). AnandTech (2021年8月19日). 2021年8月25日閲覧。
- ^ Alcorn, Paul (2021年8月19日). “Intel Architecture Day 2021: Alder Lake Chips, Golden Cove and Gracemont Cores” (英語). Tom's Hardware. 2021年8月21日閲覧。
- ^ Alcorn, Paul (2022年3月2日). “Intel Nukes Alder Lake's AVX-512 Support, Now Fuses It Off in Silicon” (英語). Tom's Hardware. 2022年3月7日閲覧。
- ^ "a new Intel AVX-512 extension called Intel DL Boost, which contains the Vector Neural Network instruction (VNNI). Designed to improve the throughput of integer linear algebra" Intel. Code Sample: Intel® AVX512-Deep Learning Boost: Intrinsic Functions.
- ^ "the new instruction in VNNI VPDPBUSD replaces the three separate FMA instructions VPMADDUBSW, VPMADDWD, and VPADDD." Intel. Code Sample: Intel® AVX512-Deep Learning Boost: Intrinsic Functions.
- ^ “Accelerate Artificial Intelligence (AI) Workloads with Intel Advanced Matrix Extensions (Intel AMX)”. Intel. 2023年4月13日閲覧。
- ^ 乗算と加算あるいは減算を融合させた命令はAMDのBulldozer以前にも、HPのPA-RISCやIBMのPower、PowerPC、インテルのItaniumにも実装されていた。
- ^ a b “[GDC 2017]AMDの技術者が語る,「Ryzenに向けた最適化のコツ」 - 4Gamer.net”. (2017年3月9日) 2017年3月10日閲覧。
- ^ Hisa Ando (2012年10月3日). “HPC性能が大幅に強化されたHaswell(前編) -各コアに256bit長のFMAを2個装備”. マイナビニュース 2019年11月18日閲覧。
- ^ "CHAPTER 6 INSTRUCTION SET REFERENCE - FMA ... FMA INSTRUCTION SET ... Performs a set of SIMD multiply-add computation on packed" Intel. Intel® Architecture Instruction Set Extensions Programming Reference. pp.6_1-6_2.
- ^ Junya Suzuki (2007年8月31日). “米AMD、3オペランド命令とFMAをサポートした「SSE5」を発表”. マイナビニュース 2019年11月18日閲覧。
- ^ "to sustain Haswell’s CPU peak (e.g., 16 multiply-adds per cycle)" 田浦. (2016). What You Must Know about Memory, Caches, and Shared Memory. 並列分散プログラミング, 東京大学.
- ^ "Intel® AVX 2.0 delivers 16 double precision and 32 single precision floating point operations per second per clock cycle within the 256-bit vectors, with up to two 256-bit fused-multiply add (FMA) units." Intel. Intel® Advanced Vector Extensions 512. 2022-04-04閲覧.
- ^ "__m256 _mm256_fmadd_ps ... Throughput (CPI) ... Haswell ... 0.5" Intel Intrinsics Guide. 2022-04-03閲覧.
- ^ "12 FMA ... 28 AVX" Intel. (2021). Intel® Architecture Instruction Set Extensions and Future Features. p.1_27.
Intel AVX
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/18 05:57 UTC 版)
「ストリーミングSIMD拡張命令」の記事における「Intel AVX」の解説
MMX/SSE後継のSIMD拡張命令セットで、呼称がIntel Advanced Vector Extensionsとなった。Sandy Bridgeマイクロアーキテクチャで初めて搭載された。浮動小数点演算の演算幅がSSEの2倍の256ビットとなり、1命令で8つの単精度浮動小数点演算もしくは4つの倍精度浮動小数点演算を実行することができる。また、命令デコード性能向上のため、新しい命令フォーマット(VEXエンコーディング)が採用されている。3 or 4オペランドの非破壊型命令もサポートするため、レジスタ退避・復元処理の記述を省くことができる。この非破壊型の命令フォーマットに関しては従来の128ビット幅のSSE命令にも使うことができるため、AVXに対応したプロセッサでは新規に導入された256ビット命令を使わなくてもSIMD演算の性能が向上する可能性がある。 SSEが導入された際には専用の128ビットレジスタが新設されたが、AVXの256ビットレジスタは下位の128ビットを既存のSSEレジスタと共有している。そのためSSE命令とAVX命令の間でのデータ交換は容易である。ただし、256ビットのAVX命令と既存のSSE命令を混在させると、SSE命令を実行する際にAVXレジスタの上位128ビットを退避するというペナルティが発生するため、パフォーマンスが落ちる。これを避けるためには、256ビット命令の実行後にVZEROUPPER/VZEROALL命令を実行して明示的にAVXレジスタの上位128ビットをクリアするか、SSE命令をVEXエンコーディングを使ったものに置き換える必要がある。VEXエンコーディングの128ビット命令はAVXレジスタの上位128ビットを保持せずにゼロクリアするという挙動になっており、AVXレジスタの部分的な書き換えが発生しないためである。 Sandy Bridgeでは当初のSSEの実装のように既存の128ビットの演算器を使って2サイクルで実行するようなことはせず、素直に乗算器や加算器などの演算器が256ビット幅に拡張されている。これによって、実質的なピーク浮動小数点演算性能がNehalem世代の2倍となっている。 AMDはBulldozer世代向けに当初予定していたSSE5拡張命令をキャンセルし、AMD FXではAVXがサポートされることになった。ただし、256ビット命令に関しては128ビット幅の演算器を2つ使って実行しており、スループットは従来のSSE命令と変わらない。
※この「Intel AVX」の解説は、「ストリーミングSIMD拡張命令」の解説の一部です。
「Intel AVX」を含む「ストリーミングSIMD拡張命令」の記事については、「ストリーミングSIMD拡張命令」の概要を参照ください。
- Intel AVXのページへのリンク