コンテンツにスキップ

ストリーミングSIMD拡 trương mệnh lệnh

Xuất xứ: フリー bách khoa sự điển 『ウィキペディア ( Wikipedia ) 』
(SSSE3から転 đưa )

ストリーミングSIMD拡 trương mệnh lệnh(Anh:Streaming SIMD Extensions,Gọi chung:SSE) は,インテルが khai phát したCPUSIMD拡 trươngMệnh lệnh セット,およびそ の 拡 trương bản の tổng xưng である. Sau 継 のAdvanced Vector Extensions(AVX) とAdvanced Matrix Extensions(AMX) についても bổn hạng で ghi lại する.

Điểm chính

[Biên tập]

SSEは,x86アーキテクチャに8 bổn の128ビットレジスタを tân thiết し,Di động số lẻTính toán の SIMD処 lý を thật hiện したも の である.AMDK6-2に thật trang されたSIMD拡 trương mệnh lệnh3DNow!に đối kháng する hình でPentium IIIから thật trang された. 4 cái の32ビット単 độ chặt chẽDi động số lẻデータを một quyển の レジスタに cách nạp し, cùng の mệnh lệnh を một quát 処 lý することができる. 拡 trương mệnh lệnh であるため, そ の cơ năng を sử dụng するためにはSSEに đối ứng したソースコードを tác thành し,プログラムコンパイルする tất yếu がある.

Core Duoまで の インテル chế CPU, K8まで のAMDChế CPUでは,64ビットPhúc の tính toán khí を dùng いて128ビット tính toán mệnh lệnh を2クロックかけて thật hành するという thật trang であったため, 128ビット tính toán mệnh lệnh を dùng いても thật chất なスループットクロックあたり64ビットであった[Chú 1].そ の ため従 tới から tồn tại するMMXMệnh lệnh やAMD の3DNow!Mệnh lệnh に đối する tính năng mặt で の アドバンテージは128ビット phúc の レジスタを sử えるという điểm bên ngoài では tiểu さく, むしろ song song độ が thượng がった phân だけ nhất thích hóa も phiền tạp になるという thiếu điểm が mục lập った. また lúc ấy のRISCHệ CPUに chở khách されているSIMD mệnh lệnh では128ビット tính toán mệnh lệnh を1クロックで thật hành できるも の があり, これらに đối する tính năng なディスアドバンテージは tiểu さくなかった. Cuối cùng にはCoreマイクロアーキテクチャ/AMD K10より128ビット tính toán mệnh lệnh も1クロック処 lý が khả năng な hình thái へと cải tiến され, SSE mệnh lệnh の thật dùng tính は trên diện rộng に hướng về phía trước した.

Nguyên 々はインターネット・ストリーミングSIMD拡 trương mệnh lệnh(Anh:Internet Streaming SIMD Extensions,ISSE ) と hô ばれていたが[1],Mệnh lệnh nội dung そ の も の はインターネットとは trực tiếp quan hệ が vô くマーケティングな yếu tố が cường かったため, hiện tại ではインターネット の văn ngôn が ngoại され単にSSEと hô ばれるようになっている.

SSE の cơ năng を cường hóa したも の にSSE2やSSE3, SSSE3 ( Supplemental/ bổ túc なSSE3 ), SSE4がある. また, SSEは hắn xã chế phẩm にも chọn dùng されている.

Duyên cách

[Biên tập]
  • 1999 năm 2 nguyệt: インテルがSSEChở khách のPentium IIIプロセッサを phát biểu.
    • 2000 năm 3 nguyệt: インテルがSSE chở khách のCeleronプロセッサを phát biểu.
  • 2000 năm 11 nguyệt: インテルがSSE2Chở khách の Pentium 4プロセッサを phát biểu.
    • 2002 năm 5 nguyệt: インテルがSSE2 chở khách の Celeronプロセッサを phát biểu.
    • 2003 năm 3 nguyệt: インテルがSSE2 chở khách のPentium Mプロセッサを phát biểu.
    • 2004 năm 1 nguyệt: インテルがSSE2 chở khách のCeleron Mプロセッサを phát biểu.
  • 2004 năm 2 nguyệt: インテルがSSE3Chở khách の Pentium 4プロセッサを phát biểu.
    • 2004 năm 6 nguyệt: インテルがSSE3 chở khách のCeleron Dプロセッサを phát biểu.
    • 2006 năm 1 nguyệt: インテルがSSE3 chở khách のIntel Coreプロセッサを phát biểu.
  • 2006 năm 6 nguyệt: インテルがSSSE3Chở khách のXeon 5100プロセッサを phát biểu.
    • 2006 năm 7 nguyệt: インテルがSSSE3 chở khách のIntel Core 2プロセッサを phát biểu.
  • 2007 năm 8 nguyệt: AMDがSSE5を phát biểu.
  • 2007 năm 11 nguyệt: インテルがSSE4.1Chở khách の Intel Core 2プロセッサを phát biểu.
  • 2007 năm 11 nguyệt: AMDがSSE4aChở khách のPhenomを phát biểu.
  • 2008 năm 11 nguyệt: インテルがSSE4.2Chở khách の đệ nhất nhiều thế hệIntel Core i7プロセッサを phát biểu.
  • 2011 năm 1 nguyệt: インテルがAVXChở khách の đệ nhị nhiều thế hệ Intel Core i7プロセッサを phát biểu.
  • 2011 năm 10 nguyệt: AMDがFMAChở khách のAMD FXプロセッサを phát biểu.
  • 2013 năm 6 nguyệt: インテルがAVX2Chở khách の đệ tứ nhiều thế hệ Intel Core i7プロセッサを phát biểu.
  • 2016 năm 6 nguyệt: インテルがAVX-512Chở khách の đệ nhị nhiều thế hệ IntelXeon Phiコプロセッサを phát biểu.
  • 2023 năm 1 nguyệt: インテルがAMXChở khách の đệ tứ nhiều thế hệ Intel Xeon SPを phát biểu.

Pentium IIIにはじめて thật trang された. Thêm vào された mệnh lệnh số は70[2].Pentium III の khai phátコードネームKatmaiであったことから,KNI(Katmai New Instructions)[3]MMX2[4]とも hô ばれていた. Liêm 価 chế phẩm のCeleronにおいても, そ の đệ tam nhiều thế hệ chế phẩmCoppermine-128kよりSSEに đối ứng している[5][6].

AMDによるSIMD拡 trương mệnh lệnh セット3DNow! Professionalは, SSEとTrao đổi tínhがある[7][8].

SSE2は従 tới の SSEに144 cái の tân たな mệnh lệnh が thêm えられた[2].Cụ thể には64ビット の lần độ chặt chẽ di động số lẻ tính toán の サポートおよびMMXを128ビット phúc に拡 trương する số nguyên tính toán mệnh lệnh の thêm vào,キャッシュの chế ngự cơ năng の cường hóa がなされた.

SSE2はPentium 4で sơ めて thật trang された[9].AMD のAMD64アーキテクチャでは, di động số lẻ tính toán に従 tới のx87Mệnh lệnh ではなくSSE/SSE2 の スカラ tính toán mệnh lệnh を dùng いることを tiêu chuẩn としたため, 拡 trương mệnh lệnh ではなく cơ bản mệnh lệnh としてSSE, SSE2が lấy り込まれている.

SSE3はSSE2に13 cái の tân たな mệnh lệnh が thêm えられた[2].Cụ thể にはメモリアクセスおよびPhục tố sốTính toán の cao tốc hóa, 仮 tưởng CPU のスレッドの động tác chế ngự など の cơ năng が chở khách され, chủ に động họa áp súc の 処 lý が hướng về phía trước した.

SSE3 の tên が phát biểu される trước はPNI(Prescott New Instructions) と hô ばれていた[2].Pentium 4の Prescottコア (2004 năm- ) で sơ めて thật trang された.

SSSE3 (Supplemental SSE3) はSSE3に32 cái の tân たな mệnh lệnh が thêm えられた[2]. Coreマイクロアーキテクチャベース の マイクロプロセッサIntel Core 2(Conroe) /Intel Xeon(Woodcrest) で sơ めて thật trang された.

SSSE3と danh phó けられる trước はMNI(Merom New Instructions;Cũ xưngTejas New Instructions) という tên があった[2].Lên sân khấu lúc trước はSSE4と hô ばれると giống nhau には tư われていた.

SSE4.1

[Biên tập]

45nm nhiều thế hệ の Core 2 の Penrynで chở khách. 47 cái の mệnh lệnh が thêm vào になる.

SSE4.2

[Biên tập]

Nehalemマイクロアーキテクチャの đệ 1 nhiều thế hệ Intel Core iで sơ めて thật trang された. 7 cái の mệnh lệnh を thêm vào. SSE 4.2 の thêm vào mệnh lệnh は dưới の thông り.

AMD Phenomで chở khách. キャッシュ quan liền や挿 nhập, triển khai の 4 mệnh lệnh が thêm vào. インテル の SSE4とは danh trước は tựa ているが trao đổi tính は vô い.

x86プロセッサにおいてDung hợp tích cùng tính toánを thật hiện するため の 拡 trương mệnh lệnh[10]がFused Multiply-Add (FMA)である. 2007 năm にAMDがSSE5 mệnh lệnh の một bộ として, 2008 năm にインテルがAVX mệnh lệnh の サブセットとして chọn dùng を phát biểu したが, lạng giả の sĩ dạng は dị なるも の であった[11].そ の sau, インテルは2009 đầu năm đầu にFMA mệnh lệnh の sĩ dạng を変 càng し, 4オペランド (FMA4) をやめ3オペランド hình thức (FMA3) とした[11].2009 năm 5 nguyệt にはAMDがSSE5 mệnh lệnh の chọn dùng を lấy りやめ, AVX の サポートを cho thấy したため, sĩ dạng の thống nhất が đồ られたかと tư われたが, FMA mệnh lệnh に quan してはインテルが sĩ dạng を変 càng する trước の 4オペランド bản FMAを chọn dùng したため, FMA4とFMA3という nhị hệ thống の FMA mệnh lệnh が xen lẫn trong していた. そ の sau, AMDがZenマイクロアーキテクチャでFMA4 の trừ bỏ およびサポート の đánh ち thiết りを cho thấy したことで, FMA mệnh lệnh についても sĩ dạng の thống nhất が đồ られた[12].

FMA mệnh lệnh では±(A×B)±C の hình で biểu hiện される単 độ chặt chẽ / lần độ chặt chẽ の di động số lẻ tính toán を1 mệnh lệnh で thật hành できる. Thừa tính kết quả の ký hiệu を phản 転するか, thừa tính sau に thêm tính を hành うか giảm tính を hành うかによって dưới の 4つ の バリエーションがある.

MADD
A×B+C
MSUB
A×B-C
NMADD
-(A×B)+C
NMSUB
-(A×B)-C

いずれ の mệnh lệnh も単 độ chặt chẽ / lần độ chặt chẽ, スカラ/ベクタを hỏi わず toàn て の タイプ の tính toán に áp dụng khả năng である. Hắn にもベクタ chuyên dùng の MADDSUB mệnh lệnh が tồn tại し, 1,3,5... Phiên mục の yếu tố にMADDを, 0,2,4... Phiên mục の yếu tố にMSUBを hành うという mệnh lệnh になっている.

FMA mệnh lệnh に đối ứng した tính toán khí においては, thượng nhớ の di động số lẻ tính toán を1クロックサイクル の スループットで thật hành khả năng で, thêm tính の み, thừa tính の みを thật hành できる tính toán khí と tương đối すると lý luận FLOPSを lần にすることができる. また, thừa tính の kết quả に đối しては hoàn めを hành わず, thêm tính を hành った sau に một lần だけ hoàn めを hành うため, thừa tính と thêm tính を độc lập して thật hành する の と tương đối して hoàn め khác biệt を tiểu さくできるという lợi điểm もある. Thật trang としてはAMDではBulldozerマイクロアーキテクチャでサポートされた の が lúc ban đầu で, モジュールあたり2つ の 128ビットFMA tính toán khí を chở khách している. インテルはHaswellマイクロアーキテクチャで sơ めてサポートしており, コアあたり2つ の 256ビットFMA tính toán khí を chở khách している[13].

インテルが 2008 năm に phát biểu した khi điểm で の FMA mệnh lệnh セット[11].Hoàn toàn な4オペランドを thật hiện しており, 3つ の ソースオペランドとディスティネーションオペランドを độc lập に chỉ định できる. そ の sau インテルは sĩ dạng を変 càng したために chọn dùng を lấy りやめたが, AMDはBulldozerマイクロアーキテクチャにおいてこ の mệnh lệnh セットをサポートし続けていた. そ の sau AMDが phát biểu したZenマイクロアーキテクチャで trừ bỏ されることとなった[12].

インテルが2009 năm に sĩ dạng を変 càng し, hiện tại sử われているFMA mệnh lệnh セット (FMA instruction set[14]). 4オペランド phương thức をやめ, 3つ の ソースオペランド の うち tùy ý の 1つを phá 壊することにより3オペランドでFMAを thật hiện している. インテルはHaswellマイクロアーキテクチャ lấy hàng で, AMDはBulldozerマイクロアーキテクチャ の Piledriverコア lấy hàng でサポートしている. なお, AMDが lúc trước SSE5において chọn dùng したFMA mệnh lệnh も cùng じ3オペランド phương thức であった[15].

ベーシックなmm256_fmadd_psMệnh lệnh の trường hợp, Intel CPUで1サイクルあたり16 cái の 単 độ chặt chẽFMA tính toánを thật hành する[16][17](256 [bit/inst.] ÷ 32 [bit/fp32FMA] ÷ 0.5 [CPI=cycle/inst.][18]). Lệ えば3GHzで động tác するプロセッサであれば1コア đương たり 48 GMAC/s (=96 GFLOPS) の ピーク tính năng を khả năng にする ( tham khảo:FLOPS# đại biểu なハードウェア の di động số lẻ số tính toán năng lực).

FMA4と so べるとレジスタ の tránh lui を hành う tất yếu がある trường hợp に bất lợi であるが, mệnh lệnh trường を1バイト đoản くすることができるため, デコーダ の thật trang や mệnh lệnh キャッシュ の フットプリントでは có lợi である. インテル のIvy BridgeマイクロアーキテクチャLấy hàng やAMD の Bulldozerマイクロアーキテクチャでは,レジスタ・リネーミングによってレジスタ gian の mov mệnh lệnh をゼロレイテンシで thật hành できるため, これと tổ み hợp わせればレジスタ tránh lui の ペナルティは khinh giảm できる.

インテル の マイクロプロセッサにおいてはAVX2 mệnh lệnh と đồng thời に chọn dùng されたため, AVX2 mệnh lệnh の một bộ であると hiểu lầm されることがある. しかし, lạng giả のCPUIDフラグは độc lập に thiết けられており[19],Tất ずしも lạng giả が đồng thời にサポートされているとは hạn らない ( lệ えば, FMA3をサポートするAMD の PiledriverコアではAVX2 mệnh lệnh はサポートしていない ).

IntelAVX

[Biên tập]

MMX/SSE sau 継 の SIMD拡 trương mệnh lệnh セットで, hô xưng がIntelAdvancedVectorExtensionsとなった.Sandy Bridgeマイクロアーキテクチャ(2011 năm- ) で sơ めて chở khách された[20][21].Di động số lẻ tính toán の tính toán phúc がSSE の 2 lần の 256ビットとなり, 1 mệnh lệnh で8つ の 単 độ chặt chẽ di động số lẻ tính toán もしくは4つ の lần độ chặt chẽ di động số lẻ tính toán を thật hành することができる. また, mệnh lệnh デコード tính năng hướng về phía trước の ため, tân しい mệnh lệnh フォーマット ( VEXエンコーディング ) が chọn dùng されている. 3 or 4オペランド の phi phá 壊 hình mệnh lệnh もサポートするため, レジスタ tránh lui ・ phục nguyên 処 lý の ghi lại を tỉnh くことができる. こ の phi phá 壊 hình の mệnh lệnh フォーマットに quan しては従 tới の 128ビット phúc の SSE mệnh lệnh にも sử うことができるため, AVXに đối ứng したプロセッサでは tân quy に dẫn vào された256ビット mệnh lệnh を sử わなくてもSIMD tính toán の tính năng が hướng về phía trước する khả năng tính がある.

SSEが dẫn vào された tế には chuyên dùng の 128ビットレジスタが tân thiết されたが, AVX の 256ビットレジスタは hạ vị の 128ビットを đã tồn の SSEレジスタと cùng sở hữu している[21].そ の ためSSE mệnh lệnh とAVX mệnh lệnh の gian で の データ trao đổi は dễ dàng である. ただし, 256ビット の AVX mệnh lệnh と đã tồn の SSE mệnh lệnh を xen lẫn trong させると, SSE mệnh lệnh を thật hành する tế にAVXレジスタ の thượng vị 128ビットを tránh lui するというペナルティが phát sinh するため, パフォーマンスが lạc ちる. これを tránh けるためには, 256ビット mệnh lệnh の thật hành sau にVZEROUPPER/VZEROALL mệnh lệnh を thật hành して minh kỳ にAVXレジスタ の thượng vị 128ビットをクリアするか, SSE mệnh lệnh をVEXエンコーディングを sử ったも の に trí き đổi える tất yếu がある. VEXエンコーディング の 128ビット mệnh lệnh はAVXレジスタ の thượng vị 128ビットを bảo trì せずにゼロクリアするという cử động になっており, AVXレジスタ の bộ phận な thư き đổi えが phát sinh しないためである.

Sandy Bridgeでは lúc trước の SSE の thật trang の ように đã tồn の 128ビット の tính toán khí を sử って2サイクルで thật hành するようなことはせず, tố thẳng に thừa tính khí や thêm tính khí など の tính toán khí が256ビット phúc に拡 trương されている[20].これによって, thật chất なピーク di động số lẻ tính toán tính năng がNehalemNhiều thế hệ の 2 lần となっている.

AMDはBulldozerNhiều thế hệ hướng けに lúc trước dư định していたSSE5拡 trương mệnh lệnh をキャンセルし,AMD FXではAVXがサポートされることになった[11].ただし, 256ビット mệnh lệnh に quan しては128ビット phúc の tính toán khí を2つ sử って thật hành しており[22][23],スループットは従 tới の SSE mệnh lệnh と変わらない.

IntelAVX2

[Biên tập]

AVX2はAVX の sau 続となる256ビットレジスタ đối tượng の 拡 trương mệnh lệnh セットである.

Mệnh lệnh

[Biên tập]

256ビットレジスタ thượng の số nguyên ベクトルに đối する số học (add, sub, mul, madd, abs, sad, sign), tương đối ( eq, gt ), thống kê (ave, min, max), nói lý lẽ (and, or, xor, andnot), シフト (sll, sra, srl, alignr), 変 đổi (convert), yếu tố thao tác /swizzle (permute, shuffle, broadcast, insert, blend, unpack, pack, extract) をサポートする. また số nguyên ベクトル の nhập xuất lực (stream load, masked load/store), マスク sinh thành (movemask) も thêm vào されている. シフト mệnh lệnh は yếu tố ごとに độc lập したシフト lượng を giả thiết できる.

Di động số lẻ ベクトルにも ảnh hưởng する mệnh lệnh としてはgather mệnh lệnh ( phi liền 続なデータを cũng べ thế えながらロード ) が dẫn vào されている.

Đối ứng

[Biên tập]

インテルはHaswellマイクロアーキテクチャから chở khách している[24].AMDはExcavatorアーキテクチャからAVX2を thật trang している[25].ただし, SIMD tính toán ユニット tự thể はZen+まで128bit phúc に lưu まっていたため, AVX2 mệnh lệnh を đa dụng する処 lý はあまり cao tốc hóa されていなかった. Zen2 nhiều thế hệ からは256bit phúc になり処 lý tốc độ が cải thiện されている.

Thật trang としてIntel CPUではベクトルレジスタとベクトル dùng thật hành ユニットを dùng いて tính toán される. Lệ としてint8 tích cùng tính toán ( VNNI chờ 価 ) では "Vec Mul" および "Vec ALU" thật hành ユニットが điển hình に lợi dụng される ( hạ biểu ).

Biểu. Intel CPU AVX2におけるint8 tích cùng tính toán (pseudo VNNI) thật trang
μarch Thật hành ユニット
VPMADDUBSW,VPMADDWD VPADDD
Haswell "SIMD Misc" x1[26] "SIMD ALU" x2[27](Port 1, 5)
Skylake "Vec Mul" x2[28](Port 0, 1) "Vec ALU" x3[29](Port 0, 1, 5)
Sunny Cove "Vec Mul" x2[30] "Vec ALU" x3[31](Port 0, 1, 5)
Golden Cove(Tiếng Anh bản) "Vec Mul/FMA" x2[32](Port 0, 1) "Vec ALU" x3[33](Port 0, 1, 5)
Gracemont(Tiếng Anh bản)

AVX2 VNNI

[Biên tập]

Intel AVX2 Vector Neural Network Instructions (AVX2 VNNI) は số nguyênTích cùng tính toánの hiệu suất hóa を mục đích とした拡 trương mệnh lệnh セットである[34].AVX-512の サブセットとして dẫn vào されたAVX-512 VNNIをAVX2 ( số nguyên ベクトルレジスタ) へバックポートしている. [int8 | int16]・[ phi bão hòa | bão hòa ] の tổ み hợp わせに đối ứng した4 loại の số nguyênTích cùng tính toán(vpdp[bu|ws]sd[|s]) からなり, tổ み込み quan số /intrinsicsとしては[XMM (_mm_) | YMM (_mm256_) ] およびAVX512 VNNIと の khác nhau (_avx) をさらに tổ み hợp わせた kế 16 cái が định nghĩa されている.

Intel CPUでは đệ 12 nhiều thế hệ Intel Core (Alder Lake) から đối ứng している[35].int8 の trường hợpFMAと cùng じ256bitレジスタを dùng いて4 lần の yếu tố を tích cùng できるため, mệnh lệnh スループットが ngang nhau なら[36][37]FMA so 4 lần の tính toán スループットを đến られる.

IntelAVX-512

[Biên tập]

ZMMレジスタを512ビット trường とし[38],レジスタ số も16から32に tăng やした.

Phát biểu されている mệnh lệnh đàn には, tráp うデータや処 lý の kém によって, AVX512F, AVX512CD, AVX512DQ, AVX512PF, AVX512ER, AVX512VL, AVX512BW, AVX512IFMA, AVX512VBMI, AVX512VBMI2, AVX512VAES, AVX512BITALG, AVX5124FMAPS, AVX512VPCLMULQDQ, AVX512GFNI, AVX512_VNNI, AVX5124VNNIW, AVX512VPOPCNTDQ, AVX512_BF16といった phân loại がされる mệnh lệnh đàn があり, どれをどこまで thật trang しているかは, chế phẩm によって dị なる. Một bộ は mệnh lệnh の sĩ dạng だけ công khai されていてまだ chế phẩm に thật trang されていないも の もある. こ の ように thật trang レベルが dị なるも の が số nhiều tồn tại していることもあり, AVX-512に đối ứng しているといっても, gì をどこまで thật trang されている の か xác nhận が tất yếu な trạng huống になっている.

Duyên cách

[Biên tập]
  • 2016 năm, đệ 2 nhiều thế hệXeon Phiに sơ めて chở khách ( đệ 1 nhiều thế hệ Xeon PhiはAVX-512と trao đổi tính の ない拡 trương mệnh lệnh セット, Intel IMCIを chọn dùng[39]).
  • 2017 năm, đệ 1 nhiều thế hệXeonSPプロセッサ (Skylakeマイクロアーキテクチャ) から một bộ の mệnh lệnh を chở khách した[40].
  • 2018 năm, AVX-512 VNNI(AVX-512 Vector Neural Network Instructions)が cơ năng 拡 trương としてIntel, IEEE Hot Chips 30 Symposium (HCS) 2018で phát biểu した. Đệ 2 nhiều thế hệ Xeon SP (Cascade Lakeマイクロアーキテクチャ) にて thật trang.
  • 2019 năm, Intel の 10nm nhiều thế hệ CPU の đệ 10 nhiều thế hệ Intel Core (Ice Lakeマイクロアーキテクチャ) にて AVX-512 を tiêu chuẩn chở khách とした.
  • 2020 năm, đệ 3 nhiều thế hệ Xeon SP (Cooper Lakeマイクロアーキテクチャ) にて,bfloat16( AVX512_BF16 ) に đối ứng した.
  • 2021 năm, Intel の CPUでは, AVX-512はサーバー hướng け の Intel Xeon SP の み の サポートとなり, パソコン dùng では đệ 12 nhiều thế hệ Intel Core (Alder Lakeマイクロプロセッサ) lấy hàng は phi đối ứng になり, thứ はAVX10.2で の đối ứng となった. パソコン dùng がAVX2に lui về phía sau したため, AVX2にVNNIなど の cơ năng thêm vào が hành われるようになる.
  • 2022 năm, Intelとは nghịch にAMDはZen 4コアで の AVX-512 đối ứng を cho thấy した[41].

Alder Lake lấy hàng で の vô hiệu hóa

[Biên tập]

Đệ 12 nhiều thế hệ Intel Core (Alder Lakeマイクロプロセッサ) lấy hàng の パソコン hướng けでは cơ bản にAVX-512が lợi dụng không thể になった. Alder Lakeでは2 chủng loại の コアを chở khách している. Pコア の みAVX-512 mệnh lệnh セットが thật hành khả năng となっており, Gracemontアーキテクチャに cơ づくEコアでは phi đối ứng である. Một bộ の マザーボードではBIOSバージョンとリビジョン の tổ み hợp わせにより, Eコアを vô hiệu hóa することでAVX-512を có hiệu hóa できる.[42][43]Intelは mới nhất リビジョン の Alder LakeではAVX-512 mệnh lệnh の サポートをシリコンレベルで đánh ち thiết っている.[44]

AVX-512 VNNI

[Biên tập]

AVX-512 Vector Neural Network instructions (AVX-512 VNNI) は畳み込みニューラルネットワークの số nguyên tính toán ( int8, int16 ) の hiệu suất を mục đích としたAVX-512 の サブセットである[45].AVXでは cao hiệu suất の INT8Tích cùng tính toánとしてVPMADDUBSW/VPMADDWD/VPADDDの 3 liền 続 mệnh lệnh が lợi dụng されている ( AVX2なら4 yếu tốTích cùng tính toánを8レーン đồng thời に thật hành khả năng ). VNNIはこれを VPDPBUSD mệnh lệnh の みでおこなうも の である[46].

IntelAVX10

[Biên tập]

2023 năm 7 nguyệt に AVX-512 の sau 継 の AVX10 をインテルは phát biểu した. AVX10 は AVX2 と AVX-512 の thống hợp ベクトルMệnh lệnh セットアーキテクチャ( converged vector ISA )[47]である. また, AVX-512は dạng 々なサポート trạng huống の フラグで quản lý する の が phục tạp だったため, AVX10はAVX10.1, AVX10.2とバージョン phiên hiệu で quản lý する tương đối にシンプルな sĩ tổ みとなった.

AVX10.1

[Biên tập]

AVX10.1はPコア の み の Intel Xeon 6 (Granite Rapids マイクロアーキテクチャ) から đối ứng. Xeon の Pコア の み đối ứng する. Khái ねAVX-512をそ の まま dẫn き継いだも の である.[48][49]

AVX10.2

[Biên tập]

AVX10.2からは, ARM64 のScalable Vector Extensionと tựa た thủ pháp を chọn dùng し, 128, 256, 512ビットレジスタどれであっても động tác するようにして, パソコン dùng を hàm め, PコアでもEコアでも động tác するようになる. インテル の パソコン hướng けCPUはかつてはAVX-512に đối ứng していたが, Eコアを dẫn vào してから, Eコアで512ビットレジスタに đối ứng できないため, AVX2に lui về phía sau していた.[50]

IntelAMX

[Biên tập]

Intel Advanced Matrix Extensions (AMX) はインテルが2020 năm にAVX-512 VNNI の 拡 trương として phát biểu した ( 2 thứ nguyên )Hàng ngũを tính toán するために thiết kế された拡 trương mệnh lệnh. Nay まで の は ( 1 thứ nguyên )ベクトルTính toán だった.

2023 năm ngày 10 tháng 1 phát bán の đệ 4 nhiều thế hệ Intel Xeon SP (Sapphire Rapidsマイクロアーキテクチャ) から chở khách されている. Cơ sở となるAMX-TILE の mệnh lệnh đàn と, 8bit số nguyên の hàng ngũ を tráp うAMX-INT8 の mệnh lệnh đàn と,bfloat16の hàng ngũ を tráp うAMX-BF16 の mệnh lệnh đàn から cấu thành されている. Sapphire RapidsマイクロアーキテクチャではTMUL ( Tile Matrix Multiply, タイルHàng ngũ tích) が thật trang されている.

タイル hàng ngũ tích の 1コアあたり の mệnh lệnh số /サイクル[51]

  • Intel AMX-INT8: 2048 (=16 * 64 * 2)
  • Intel AMX-BF16: 1024 (=16 * 32 * 2)

AVX-512はINT8で256op/cycleだったため, 8 lần cao tốc hóa した.

Intel Xeon 6 (Granite Rapids マイクロアーキテクチャ) からAMX-FP16を thật trang[52].

Chưa だ khai phát が継続されている mệnh lệnh đàn であり, さらなる拡 trương が dư định されている.

Chú thích

[Biên tập]

Chú 釈

[Biên tập]
  1. ^SIMD số nguyên tính toán に quan してはPentium M,Core DuoやK8では64ビット phúc の tính toán khí を2つ cầm つため, コア toàn thể で の SIMD số nguyên tính toán の スループットは128ビット/クロックであった.

Xuất xứ

[Biên tập]
  1. ^Nguyên vải bố xuân nam (2005 năm ngày 4 tháng 3 ). “デュアルコア+HTはゼニが lấy れる kỹ thuật か”.PC Watch.Nguyên vải bố xuân nam の tuần san PCホットライン.2019 năm ngày 22 tháng 12Duyệt lãm.
  2. ^abcdefSau đằng hoằng mậu (2006 năm ngày 4 tháng 10 ). “SSE4 mệnh lệnh とアクセラレータから thấy えるIntel CPU の phương hướng tính”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  3. ^Sau đằng hoằng mậu (1998 năm ngày 8 tháng 10 ). “MPEG-2 の エンコードまで thật hiện できるKatmai の tân mệnh lệnh”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  4. ^Sau đằng hoằng mậu (1997 năm ngày 8 tháng 9 ). “SGIがWintelワークステーションを năm sau đầu nhập?”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  5. ^Mễ Intel, Coppermine-128kことCeleron 600/566MHz”.PC Watch(2000 năm ngày 29 tháng 3 ).2019 năm ngày 22 tháng 12Duyệt lãm.
  6. ^Nón nguyên một huy (2000 năm ngày 31 tháng 3 ). “Coppermine-128K 600/533A MHzをベンチマーク”.PC Watch.AKIBA PC Hotline.2019 năm ngày 22 tháng 12Duyệt lãm.
  7. ^Linh mộc thẳng mỹ (2001 năm ngày 31 tháng 8 ). “Đệ 179 hồi: Ngày 20 tháng 8 ~ ngày 24 tháng 8”.PC Watch.Linh mộc thẳng mỹ の “PC Watch trước chu の キーワード”.2019 năm ngày 22 tháng 12Duyệt lãm.
  8. ^Nón nguyên một huy (2001 năm ngày 10 tháng 10 ). “Pentium 4キラーとなりうるAMD の cường lực な tân chế phẩm Athlon XPプロセッサ の thật lực を thăm る”.PC Watch.AKIBA PC Hotline.2019 năm ngày 22 tháng 12Duyệt lãm.
  9. ^Sau đằng hoằng mậu. “ソフト khai phát giả にはSSE2 mệnh lệnh へ の di chuyển を đẩy thưởng”.PC Watch.2019 năm ngày 22 tháng 12Duyệt lãm.
  10. ^Thừa tính と thêm tính あるいは giảm tính を dung hợp させた mệnh lệnh はAMD の Bulldozer trước kia にも, HP の PA-RISCやIBM の Power, PowerPC, インテル の Itaniumにも thật trang されていた.
  11. ^abcdSau đằng hoằng mậu. “AMD の AVXサポートとBulldozer の クラスタ hình マイクロアーキテクチャ”.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 18 tháng 11Duyệt lãm.
  12. ^ab“[ GDC 2017 ] AMD の kỹ thuật giả が ngữ る, “Ryzenに hướng けた nhất thích hóa の コツ” - 4Gamer.net”.(2017 năm ngày 9 tháng 3 ).https:// 4gamer.net/games/300/G030061/20170308070/2017 năm ngày 10 tháng 3Duyệt lãm.
  13. ^Hisa Ando (2012 năm ngày 3 tháng 10 ).“HPC tính năng が trên diện rộng に cường hóa されたHaswell( trước biên ) - các コアに256bit trường の FMAを2 cái trang bị”.マイナビニュース.https://news.mynavi.jp/techplus/article/20121003-idf_haswell_hpc_01/2019 năm ngày 18 tháng 11Duyệt lãm.
  14. ^"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.
  15. ^Junya Suzuki (2007 năm ngày 31 tháng 8 ).“Mễ AMD, 3オペランド mệnh lệnh とFMAをサポートした “SSE5” を phát biểu”.マイナビニュース.https://news.mynavi.jp/article/20070831-a002/2019 năm ngày 18 tháng 11Duyệt lãm.
  16. ^"to sustain Haswell’s CPU peak (e.g., 16 multiply-adds per cycle)" điền phổ. (2016).What You Must Know about Memory, Caches, and Shared Memory.Song song phân tán プログラミング,Đông Kinh đại học.
  17. ^"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 duyệt lãm.
  18. ^"__m256 _mm256_fmadd_ps... Throughput (CPI)... Haswell... 0.5"Intel Intrinsics Guide.2022-04-03 duyệt lãm.
  19. ^"12 FMA... 28 AVX" Intel. (2021). Intel® Architecture Instruction Set Extensions and Future Features. p.1_27.
  20. ^abSau đằng hoằng mậu (2010 năm ngày 17 tháng 9 ). “なぜSandy Bridgeはそんなにパフォーマンスが cao い の か”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  21. ^ab2011-01-03 ( mễ điền thông ). “Sandy Bridgeがやってきた! ~プロセッサ の cơ bản tính năng は thuận lợi に hướng về phía trước”.4Gamer.net.2019 năm ngày 22 tháng 12Duyệt lãm.
  22. ^Bổn gian văn (2010 năm ngày 12 tháng 10 ). “AMD, Bulldozerアーキテクチャ chọn dùng の thế hệ mới CPU “FX” を chính thức phát biểu. Phát bán は10 dưới ánh trăng tuần lấy hàng に”.4Gamer.net.2019 năm ngày 22 tháng 12Duyệt lãm.
  23. ^Sau đằng hoằng mậu (2011 năm ngày 2 tháng 3 ). “8コアCPUを thấp コストに thật hiện したBulldozer”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  24. ^Đại nguyên hùng giới (2012 năm ngày 24 tháng 9 ). “インテルCPU thuyết tiến hoá Haswellで dẫn vào されるCPU の cải tiến sau biên”.ASCII.jp.ロードマップでわかる! Đương thời プロセッサー sự tình.2019 năm ngày 18 tháng 11Duyệt lãm.
  25. ^“【イベントレポート】AMD, Carrizoを “Đệ 6 nhiều thế hệ AMD Aシリーズ プロセッサ” として phát biểu - PC Watch”.(2015 năm ngày 3 tháng 6 ).https://pc.watch.impress.co.jp/docs/news/event/705132.html2015 năm ngày 15 tháng 12Duyệt lãm.
  26. ^"Haswellマイクロアーキテクチャ の thật hành ユニット... 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訳.
  27. ^"Haswellマイクロアーキテクチャ の thật hành ユニット... 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訳.
  28. ^"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.
  29. ^"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.
  30. ^"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.
  31. ^"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.
  32. ^"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.
  33. ^"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.
  34. ^"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 duyệt lãm.
  35. ^"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 duyệt lãm.
  36. ^"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.
  37. ^_mm_dpbusds_epi32( XMM128bit ) では CPIが ngang nhau の 0.5であることが minh kỳ されている.Intel Intrinsics Guide
  38. ^Sau đằng hoằng mậu (2019 năm ngày 1 tháng 2 ). “Intel の 10nm nhiều thế hệ CPUコア “Sunny Cove” の カギとなるAVX-512”.PC Watch.Sau đằng hoằng mậu の Weekly hải ngoại ニュース.2019 năm ngày 22 tháng 12Duyệt lãm.
  39. ^インテル® Xeon Phi™ コプロセッサー 7120P (16GB, 1.238 GHz, 61 コア) - chế phẩm sĩ dạng | インテル”.Intel.2024 năm ngày 12 tháng 3Duyệt lãm.
  40. ^Intel® Architecture Instruction Set Extensions Programming Reference”(pdf) ( tiếng Anh ). p. 12(1-2). 2018 năm ngày 30 tháng 4 khi điểm のオリジナルよりアーカイブ.2017 năm ngày 9 tháng 11Duyệt lãm.AVX512F, AVX512CD の み chở khách されている chỉ が phán る.
  41. ^“Zen 4” コアでAVX-512 đối ứng を cho thấy”.PC Watch(2019 năm ngày 1 tháng 2 ).2022 năm ngày 17 tháng 6Duyệt lãm.
  42. ^Intel Architecture Day 2021: Alder Lake, Golden Cove, and Gracemont Detailed”( tiếng Anh ).AnandTech(2021 năm ngày 19 tháng 8 ).2021 năm ngày 25 tháng 8Duyệt lãm.
  43. ^Alcorn, Paul (2021 năm ngày 19 tháng 8 ). “Intel Architecture Day 2021: Alder Lake Chips, Golden Cove and Gracemont Cores”( tiếng Anh ).Tom's Hardware.2021 năm ngày 21 tháng 8Duyệt lãm.
  44. ^Alcorn, Paul (2022 năm ngày 2 tháng 3 ). “Intel Nukes Alder Lake's AVX-512 Support, Now Fuses It Off in Silicon”( tiếng Anh ).Tom's Hardware.2022 năm ngày 7 tháng 3Duyệt lãm.
  45. ^"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.
  46. ^"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.
  47. ^The Converged Vector ISA: Intel® Advanced Vector Extensions 10 Technical Paper”.Intel.8 May 2024Duyệt lãm.
  48. ^Bonshor, Gavin. “Intel Unveils AVX10 and APX Instruction Sets: Unifying AVX-512 For Hybrid Architectures”.AnandTech.4 May 2024Duyệt lãm.
  49. ^Kabushiki gaisha インプレス. “Intel, Pコア/Eコア lạng đối ứng の tân 拡 trương mệnh lệnh セット “AVX10””.PC Watch.4 May 2024Duyệt lãm.
  50. ^The Converged Vector ISA: Intel® Advanced Vector Extensions 10
  51. ^Accelerate Artificial Intelligence (AI) Workloads with Intel Advanced Matrix Extensions (Intel AMX)”.Intel.2023 năm ngày 13 tháng 4Duyệt lãm.
  52. ^インテル kiên cố なパフォーマンスと điện lực hiệu suất を sở trường đặc biệt とするアーキテクチャーに cơ づく thứ nhiều thế hệ インテル® Xeon® プラットフォームを công khai”.Intel.25 May 2024Duyệt lãm.

Quan liền hạng mục

[Biên tập]