1) Letošní ARM Cortex X4 má mít o 33% větší IPC než Zen 4, takže ARM brutálně předběhl cokoliv z x86.
2) ARM umí L4 cache sdílenou i pro GPU a NPU. To taky člověk u x86 nevidí.
3) ARM umí 144 jader na čiplet, 512 serverových jader celkem na socket.
4) SVE2/SME2 SIMD flexibilní šířka registrů od 128-bit až po 2048-bit.... to je vyloženě revoluce na kterou x86 ani po 7 letech nemá odpověď.
5) ARM GPU s podporou ray-tracingu. Navíc mají i NPU jednotku pro akceleraci AI už roky a roky v telefonech.
6) Geniální instrukční sada ARM/SVE a na ní založený CPU-only superpočítač Fugaku byla schopná vydrtit superpočítač s obříma GPU od Nvidie. Masakr.
Není divu že Intel stojí v řadě na akcie ARMu. V jeho případě je to pud sebezáchovy :-)
"SVE2/SME2 SIMD flexibilní šířka registrů od 128-bit až po 2048-bit.... to je vyloženě revoluce na kterou x86 ani po 7 letech nemá odpověď."
Ježkovy zraky, vždyť je to po těch 7 letech pořád skoro vaporware - těch 2048bitů rozhodně. Je *jedna jediná* 512bitová implementace (původní autor Fujitsu, kde to má skoro roli akcelerátoru), jedna 256bitová, zbytek má 128bitů a sotva je lepší než NEON (nebo SSE* staré 15-23 let).
Spíš si myslím, že pořád čekáme na důkaz toho, že ta flexibilní šířka opravdu byla dobrý nápad. Mimochodem - flexibilita v šířce měla být, ale pak se z nějakého důvodu stalo, že Cortex-X3+ byl omezený na jen 128bitů protože by jinak byly problémy s kompatibilitou u dalších menších jader, které mají taky jenom 128 bitů. Takže evidentně to tak jednoduché nebude.
Mezitím AVX-512 brzo oslaví šest let na trhu v reálném křemíku. Jsou sice i 256bitové implementace, ale žádná 128bitová.
"Geniální instrukční sada ARM/SVE a na ní založený CPU-only superpočítač Fugaku byla schopná vydrtit superpočítač s obříma GPU od Nvidie."
To je přece hlavně o počtu nodů, o tom, kolik energie to žere... Chtělo by to srovnat blade proti bladu, rack proti racku. Fugaku porazilo jako celek superpočítač s starší generací Nvidie. Jeho kvalita je ale v interconnectu, ne v hrubém výpočetním výkonu.
To Fujitsu se zase nějak extrémně nevymyká.
14. 6. 2023, 20:30 editováno autorem komentáře
1) ARMové revoluční vektory SVE2 jsou už dva roky v mobilech (od Cortexu X2 z 2021). Tak jaký vaporware proboha? :-)
.
.
2) SVE je revoluční právě v tom, že má flexibilní šířku vektoru od 128-bit až po 2048-bit. SW pro superpočítač s 2048-bit každému poběží i na low-end mobilu na little jádře které má jen 128-bit SIMD (navíc u A510 ještě může být sdílená pro dvě jádra). Poběží pomalu, ale poběží.
Pointa je přece kompatibilita instrukční sady nezávisle na šířce SIMD. Zabránit katastrofální situaci jako na x86, kdy AVX512 je pro HPC servery OK, ale v desktopu to ani po 6 letech není standard. A hromada Intel CPU to vnitřně rozkládá na 256-bit a AMD to dělá pouze 256-bit. Takže overkill i pro žravé desktopy. Co teprve e-jádra Gracemont, ty jedou v nitřně 128-bit SIMD a AVX512 neumí vůbec. Nebo teoreticky malé jádra kdyby x86 dělalo CPU pro telefony. AVX512 je katastrofa, které se chtěl ARM vyhnout.
.
.
3) Šířka 2048-bit je o budoucích CPU
x86: SW pro 128-bit SSE ti na AVX512 rozhodně neběží 4x rychleji.
ARM: SW pro dnešní SVE2 ti běží na 128-bit, ale v budoucnu ti stejný SW poběží 16x rychleji na CPU který bude umět 2048-bit SIMD SVE4.
2048-bit je o kompatibilitě do budoucna na dalších třeba 50 let. Už teď ji ARM má. To je ta pravá revoluce - nezávislost na šířce SIMD a tedy to může mít úplně každý CPU od little v mobilu až po mega superpočítače. Naprosto geniální.
.
.
4) CPU-only Superpočítač ARM
Samozřejmě že udělat CPU-only nejrychlejší superpočítač na světě je úplně jednoduché, dám víc nodů a je to. Proto to x86 vůbec nedělá a dobrovolně přenechává miliardy Nvidii. To si může myslet jen blázen.
Ve skutečnosti Nvidia těží ze stagnace x86 CPU, která díky zastaralé a neefektivní x86 instrukční sadě neumožňuje efektivně vykonávat výpočty (kdyby ano, tak by Intel a AMD prodávali CPU do telefonů, protože v mobilech jsou větší prachy než v serverech.... ale možná to dělají z dobročinosti a chtějí ARMu přenechat ty miliardy protože už sami neví co s prachama).
Vše výše vyjmenované x86 AVX512 ........... NEMÁ
(ikdyž alespoň ty matice umí Intel AMX, ale stejně je to k ničemu, protože bez těch ostatních věcí GPU neporazí)
Ono je za tím docela dost práce a přemýšlení ze strany ARMu.
No a to je ta teorie/vaporware. "Revoluční vektory". Ale jak se to osvědčilo v praxi? Tvrdit že tohle všechno bude magicky fungovat neznamená, že to pak v kompilátorech a reálném kódu zabere. Viz, EHM, Itanium.
1) V praxi se to osvědčilo tak že SVE2 mají už dva roky všechny nové telefony a nyní i brutálně našláplý serverový V2.
Má dnes každej mobil SVE2? ANO ....................... AVX512 nemá každý CPU
Mají malé jádra SVE2 instrukce? ANO .................. střední e-jádra AVX512 neumí
Mají velké jádra SVE2 instrukce? ANO ................. AMD jo ale Intel jen někde
Má ARM nulovou frangmentaci? ANO .................. x86 má brutální fragmentaci
ARM v podstatě má nový standard 128-bit SVE2 a mají to všechna zařízení. Od little inOrder jader A520 až po serverovou V2. Co by za to ve světě x86 Intel dal, kdyby nemusel vypínat AVX512 na velkých jádrech.
.
.
2) Proč myslíš že V2 degradovala z 2x 256 SVE (V1) na 4x 128-bit (V2)?
Za tím stojí autovektorizace přes OoO. To tě nenapadlo?
OoO engine musí umět rozpoznávat datové závislosti, aby ty nezávislé mohl poslat na ALU paralelně, tomu snad rozumíš, protože to je základ funkce OoO na ALU. A proč by to samé nemohl udělat se 128-bit SIMD vektory? Stejně jak Apple tak ARM od X1 má 4x 128-bit, takže to stejně už dávno dělá se skalárníma FPU. Tohle OoO se SIMD umí určitě i mnohem starší jádra, nejspíš od A73 která měla 2x 128-bit.
Z toho plyne že V1 investovala tranzistory do širších 256-bit registrů, což přineslo jen komplikace, ale výkon to nezvýšilo. Jediný benefit je menší binárka a menší zátěž OoO enginu. A byla by fragmentace a nekompatibilita SW ala x86. Tedy pokud se nepoužije autovektorizační knihovny, ty to umí vykonat na všech šířkách SIMD.
Budoucí V3 tedy může mít 8x 128-bit SVE2 a výkon bude mít dvojnásobný aniž by musela mít 1024-bit SVE2. Nemusí nutit little jádra mít taky 1024-bit. Nebo si komplikovat vývoj V3/X5.
x86 zvyšuje délku vektorů aby Intel mohl podělat AMD a to se dalších 5 let nechytalo. Že to brzdilo vývoj celé platformy to už nikoho nezajímalo, protože tady kromě x86 nic nebylo. Ale dnes kvůli tomu vypadají jako šašci když jim ARM nastavil zrcadlo, že to lze dělat líp.
Fujitsu s 2x 512-bit SVE vydrtil Nvidia GPU Voltu, takže s výkonem problém nebude protože tam můžou vrznou třeba 6x 512-bit a budou mít hafo výkonu. Těch 2048-bit je vyloženě něco co se použije někdy v budoucnu za 20 let. ARM ISA to prostě umí už teď protože přemýšlí dopředu a pokryje tím úplně všechny myslitelné HW konfigurace. A vše bude kompatibilní. Tohle Intel nikdy nezavede protože by tím usnadnil AMD vývoj, ale kvůli tomu chcípnou společně. On to Keller viděl když se snažil protlačit K12 jako hlavní CPU. No a když se člověk podívá na Intelovskou AMX, tak to je mimochodem 16x větší obdoba AVX512, naprostá prasárna. To nikdy na E-jádrech neuvidíš, to ti garantuju. Takže specialitka pro HPC a už předem mrtvá SIMD. Zatímco ARM klidně bude násobit matice i na little jádru protože 128-bit SVE2 to umí.
.
.
.
3) VLIW
Jinak pročpak asi AVX512 dostal první Larrabee s InOrder Atom jádry? Že by protože nemá OoO a tedy autovektorizaci přes OoO nemůže provádět? Tedy argument s VLIW Itaniem je totálně mimo. Je to přesně naopak. Dlouhé vektory jako AVX512 jsou závislé na kompilátoru (a tedy hodí se pro hloupá InOrder nebo GPU VLIW jádra, protože tím kompilátorem nahrazuje logiku OoO) zatímco naopak moderní OoO jádra si v pohodě vystačí se 128-bit i za 10 let a přitom budou pořád brutálně zvyšovat výkon třeba s 16x 128-bit jednotkami. Ono přerovnat 16 simd instrukcí není problém když má dnešní CPU OoO okno 300 instrukcí, že jo. Jeden by řekl, že možná ani 32 nebo 64 nebude problém což už je docele sci-fi záležitost mít 64x 128-bit, to je ekvivalent 4x 2048-bit SVE2. Sežere to ovšem o 60 bajtů víc v cache, což myslím taky žádný CPU nepoloží.
Takže ani delší vektory než 128-bit pro výkonná OoO jádra nepotřebujeme. A zároven malé vektory jsou ideálka pro ty little jádra. Prostě Win-Win.
No moc materiálu abych na všechno reagoval, ale širší vektor naopak udělá out-of-order zpracování instrukcí efektivnější.
Když místo 512bitové operace (AVX-512) budete jádrem prohánět čtyři 128bitové, tak plýtváte místem v ReorderBufferu (čtyři položky zaplácnuté místo jedné), to samé u propustnosti issue, renameru... širší vektor vede k lepší energetické efektivitě, protože se zjednoduší většina fází zpracování. Také méně instrukcí zabere míň místa v instrukční cache.
"Sežere to ovšem o 60 bajtů víc v cache, což myslím taky žádný CPU nepoloží." -- jo, to je přesně ten problém, když se to děje u mnoha instrukcí v dané funkci.
Argument s Itaniem ale byl o něčem jiném. Byla to taková změna paradigmatu, o které se tvrdilo, že všechno zlepší a zjednoduší (jako flexibilní šířka SIMD u SVE), a pak se zjistilo, že to nefunguje, protože tu teorii v praxi nezvládnou udělat kompilátory kódu (a pak hapruje i to dynamické zpracování v procesoru).
Mimochodem myslím že Apple SVE/SVE2 neimplementoval, ad ta fragmentace. A vytýkat AVX-512, že má někde 256bitovou implementaci, zatímco vyzdvihovat u SVE(2) totéž jako "revoluční vektory"...
1) 4x 128-bit vs. 512-bit
ROB je na >300 instrukcí:
Vlezou se tam ty 4 instrukce místo 1?
Navíc ROB umí více instrukcí na jednu položku, proč asi?
.
2) Srovnávat Itanium a SVE2 vektory je fakt nesmysl.
VLIW = velká závislost na kompilátoru = fail
AVX512 = velká závislost na kompilátoru = kolik CPU umí po 7 letech AVX512??? = fail
.... já tam vidím těch podobností docela dost, hlavně v tom failu.
.
3) revoluční SVE2
- může mít AVX512 délku vektoru 2048-bit ... leda ve snu ........ ARM SVE2 ano
- můžě mít AVX512 delku vektoru 128-bit ..... nemůže ............. ARM SVE2 ano
SVE je tak super, že jeho obdobu hodlá zkopírovat i RISC-V.
AVX512 je tak naprd, že jej nechce zkopírovat nikdo (ani sám Intel jej do Raptoru nedal)
Hmmm a teď koukám, že Neoverse-V2 už zase opustila 256bitové jednotky SIMD (které měla architektura V1) a vrátila se ke 128bitovým. To je skoro jako Zen1...
Keby sa firmy ako AMD, MS a iné nepredposrali tu dnes mohlo byť silné ARM vo vlastníctve nVidie. Ta by tam naliala poriadne love, know-how... a x86 by sa dnes klepalo o svoje trhy a percenta.
Ale x86 už se klepe, protože ARM brutálně roste každý rok v serverech i noteboocích. Zatímco x86 je tak špatná že nikam jinam než na nenažrané desktopy se nehodí.
Jinak je dobře že Nvidia ten ARM nekoupila, protože by z toho udělala stejný monopol jako Intel z x86. Bývaly doby kdys do desky od Pentia MMX mohl dát AMD K6 nebo třeba Cyrix, IDT Winchip či Rise MP6. 5 různých výrobců CPU v jedné desce a jednom socketu. To je důvod proč se stala x86 populární. Ale nízké ceny a spokojení zákazníci není to co korporáty chtějí.
Softbanka do toho ARMu cpe peněz víc než dost. Navíc brzy bude ARM obchodovatelný na burze! Ty akcie poletí nahoru jak raketa!
nVidia zo svojou silou ponúkala podobné podmienky a dlhoročnú licenčnú politiku ako MS teraz pri kúpe Activisionu, v podstate win-win situácia pre všetkých okrem Sony (v tomto prípade AMTEL :P )
Ale tak možno máš pravdu a čas ukáže, ale napr. na jablko by som sa nespoliehal. To zdrhne na inú platformu hned ako bude preňho niečo lepšie a výhodnejšie ako sme už veľa krát videli ...
Právě Apple je dobrý příklad když něco stojí za prd, tak to opustí protože se nemusí nikoho doprošovat (třeba Intel a AMD se musí ohlížet na MS Windows). Vše co Apple opustil, tak to byla opravdu platforma před smrtí, jak M68000, tak i PowerPC. x86 taky chcípne, jen to bude déle trvat.
Důležité na tom je to, že kdyby Apple viděl technickou cestu jak pokračovat s x86 tak by jí klidně šel. Ale ta x86 je tak zastaralá, že to už spravit nejde. Jak chceš načíst 10 instrukcí zaráz, když každá z nich může mít délku od 1 bajtu až po 15 bajtů?To matematicky vede k polynomické explozi možných kombinací kde ty instrukce mohou ležet.
Co se týče akcií, tak tam bude záležet hlavně na kvalitě těch licenčních IP co poskytují zákazníkům. A ty mají už teď o parník lepší než cokoliv ze světa x86, což znamená zaručený vzestup akcií a naopak úpadek akcií AMD a Intelu.
Jinak jestli ARM nebo RISC-V už bude úplně jedno. Jakmile se x86 SW ekosystém naučí být multiplatformn (moc se jim nechce po 30 letech)í, tak nebude problém zkompilovat na jakoukoliv jinou platformu, třeba RISC-V nebo sci-fi Terminator-ISA.
RISC-V naopak bude dobrou konkurencí aby nám ARM nezvlčel a nezačal zdražovat licenční poplatky. Věřím že Kellerova architektura Ascalone 6+2 ALU pořádně zahýbe trhem. Zvlášť když se jim povede dobře implementovat RVV, tak by to mohl být super levný zabiják x86 a dost by zatápěl i ARMu.
"Jak chceš načíst 10 instrukcí zaráz, když každá z nich může mít délku od 1 bajtu až po 15 bajtů?To matematicky vede k polynomické explozi možných kombinací kde ty instrukce mohou ležet."
Je na to řešení. Dřívější jádra x86 používala predecoding, který v L1i cache označil začátky instrukcí. Dnešní jádra to IIRC nedělají (asi jim vychází, že to nepotřebujou?), ale ta možnost tu pořád je.
Jj, dobrý, ale ten predecoding L1i dekoduje 10 instrukcí / clock, jak? Má úplně stejný problém s polynomickou explozí. A nepoužívá se to už nejspíš proto, že predecoding neumí detekovat JMP, predikovat jejich pravděpodobnost a tedy odhadovat co se opravdu bude vykonávat a co je jen jedna z miliardy funkcí v DLL knihovnách, které se stejně nikdy nepoužije, ikdyž tam někde je jeden nepravděpodobný IF.
Třeba Intel používal 2x 3 dekodér u Tremontu což indikuje, že dokáže sledovat obě větve pro danou podmíněnou JMP instrukci. Tento fígl určitě hodně pomůže, ale pomůže to i pro 10 instrukcí / clock? I pro 12 nebo 14 což tu bude za pár let? Šlo by sledovat třeba 4 nebo 8 různých větví naráz?
.
.
To vše nic nemění na tom, že ARMv8 žádné takové fígle nepotřebuje VŮBEC, protože je lépe navržen. Ani jeden tranzistor, ani jeden Watt, ani jeden den inženýra, ani jeden dolar investic nemusí padnout zbytečně na figle obcházení zastaralé CISC x86.
.
Proč asi ARM i Apple vydává CPU jádra každý rok jak na běžícím páse? Protože jejich vývoj a validace je jednodušší. Já osobně jsem zvědav jak dlouho x86 vydrží než chcípne, protože je to prostě nevyhnutelné.
.
.
Ikdyby x86 tento problém vyřešilo, což si myslím že je možné s nějakou novou chytrou revizí x86, ale k čemu by to bylo? Abychom prodloužili monopol x86 a předražených CPU z 30 let na 60? Velké IT firmy typu Amazon, MS a Google už toho mají dost a chtějí vlastní CPU, což jim licence x86 neumožňuje. ARM a RISC-V už teď dávno vyhráli, protože tam je mraky start upů, nových NexGenů, kteří nízkou cenou a velkou vzájemnou soutěží prostě cokoliv na uzavřené platformě převálcují. I ten ARM si bude muset na RISC-V dávat velkýho majzla až Keller začne dávat licence toho svýho našláplýho CPU za levno.
Ta proměnný délka instrukcí je prostě jenom jeden z problémů, kterým vývoj CPU mikroarchitektury čelí. Není to jedinej, nejzásadnější, ani nepřekonatelný problém. Inženýři na něj prostě použijou nějaké řešení nebo zmírnění - jako tohle nebo uOP cache. Jak je vidět, x86 CPU s ním 20+ let úspěšně žijou. Řešení mají nějakou cenu ve spotřebě a tranzistorech, ale tu má všechno, zase se to třeba nažene jinde.
Takhle (že jsou strašně špatné protože stojí tranzistory) by se dalo šílet nad tolikerýma funkcema v procesorech, například byli lidi kteří odmítali out-of-order protože stojí tranzistory a spotřebu navíc. A kde jsou dneska.
Ve výsledku IMHO pořád platí že čím komplexnější procesory, tím menší rozdíl u nich ta instrukční sada dělá. A jestli ve výsledku ARMv8/9 dokáže být třeba o 5-10% efektivnější (víc to IMHO fundamentálně nebude), tak to je jenom dílčí věc, kterou klidně může vyvážit to, že x86 je prostě kompatibilní se "vším" a to je plus. Už jenom historicky děděné optimalizace a tuning softwaru na x86 procesory těch 10% může čsto převážit, takže je úplně legitimní takové CPU používat a zůstávat u té ISA.
TL+DR je třeba se na to nedívat černobíle a fanaticky a hlavně se nezacyklovávat na dílčích detailech a nevidět pro ně celek.
Optimalizace pro Pentium MMX je ti na Alder Lake úplně k ničemu, protože to byla low-level optimalice pro HW architekturu Pentia (typicky se prioritně použila instrukce kterou Pentium zvládalo za méně taktů než konkurence, takže benchmark běžel rychleji na Pentiu atd.). Optimalizace pro SSE a AVX můžeš jednoduše převést pro ARM NEON/SVE2, v tom nemá x86 už vůbec žádný náskok protože větši užitečných SIMD instrukcí má ekvivalent u všech ISA.
X86 sice úspěšně žije z monopolu na PC kde nehraje spotřeba roli, ale v mobilech si x86 ani neškrtlo. A že to Intel zkoušel a zahučeli do toho slušný prachy. AMD s Bobcatama a Jaguarama taky dostalo v noteboocích a jiných levných zařízeních po čuni. Kdyby ta ISA dělala jen 5% rozdíl ve spotřebě tak by se Intel a AMD nebáli mobilních telefonů jako čert kříže (už proto, že je to větší trh než PC se servery dokupy).
Existuje studie o vlivu ISA na IPC, kdy vzali model Haswellu a implementovali pro něj ARM a Alphu. Výsledek byl že x86 mělo menší IPC to ne málo. Ty všechny problémy se kupí a výsledek je, že ARMy mají poloviční spotřebu na stejné frekvenci a stejném IPC. Třeba ta přelomová A76, IPC jako Zen2 ale při 2 GHz má spotřebu 750 mW na 7nm TSMC, to jsou ofiko čísla. A to moje Orange Pi to potvrzuje i na horším 8nm Samsungu. Nejlíp je to vidět v serverech kdy ta A76 opravdu žere polovinu nebo i míň.
Rozhodně nejsem ten co vidí černobíle, když srovnávám x86, ARM a RISC-V a poukazuji na výhody a nevýhody. Až Keller vydá RISC-V cpu tak si jej koupím a budu to doma srovnávat s x86 a ARMem. Spíš ti co obhajují pouze a jen majetek Intelu (x86 ISA) by se měli zamyslet proč jsou fanatici. Z neznalosti či z hlouposti?
Softbank ARM koupil hodně draho a pak narazil na to, že vlastně nemá moc velké tržby. Ta nabídka Nvidie pro ně byla hodně dobrá právě proto, že byla taky celkem předražená.
Proto se teď ARM snaží měnit modely placení, soudí se s Qualcommem a bude se snažit z klientů vyrazit víc peněz. Což ale zase jde proti faktorům, tkeré mu pomohly se tolik rozšířit. Jestli se jim podaří tímhle zlepšit tržby tak moc, aby dohnali ty fundamentální parametry, to těžko říct.
Takže s těma akciema bych byl zrovna opatrný, i když technologické tituly jsou schopné se hrozně utrhnout ze řetězu. jenže když se ten sentiment obrátí proti tomu optimismu tak taky člověk může hodně ztratit.