Neviem ako AMD, ale Intel sa vyjadril dost jasne uz par rokov dozadu: https://newsroom.intel.com/editorials/x86-approaching-40-still-going-strong/
However, there have been reports that some companies may try to emulate Intel’s proprietary x86 ISA without Intel’s authorization. Emulation is not a new technology, and Transmeta was notably the last company to claim to have produced a compatible x86 processor using emulation (“code morphing”) techniques. Intel enforced patents relating to SIMD instruction set enhancements against Transmeta’s x86 implementation even though it used emulation. In any event, Transmeta was not commercially successful, and it exited the microprocessor business 10 years ago.
Toto sa nedalo citat inak ako vyhrazka. Podla mna ak sa ukaze ze svet sa presuva na ARM, stane sa z Intelu druhy Oracle a zaloby budu len tak lietat.
jestli myslíš, že pochází z EM64T od AMD, tak ano, ale v kombinaci s celým x86 to je dost pekelné. Intel sám měl ještě iA-64 ala Itanium, to je věc, která mě opravdu zaujala, škoda že měla řadu problémů a prostě se neuchytila.
AVX-512 je věc, která v současné době ARMům chybí, ale na druhou stranu jí ani Intel nevychytal a její pužití snižuje frekvenci corů, takže se to hodí jen na specializovaný SW, vedle kterého nic jiného neběží.
On vlastně celý svět x86 je plný extenzí, které někdy vypadají jen jako hacky na nějaké benchmarky a umělé funkce, které dobře vypadají na slajdech.
> AVX-512 je věc, která v současné době ARMům chybí
ARM má SVE. Instrukce jsou navržené do budoucna až na 2048 bitů (aby v tom nebyl bordel jako s různými verzemi SSE a AVX). Hardware umí fyzicky 128 až 2048 bitů a emuluje zbytek do 2048 bitů (podobně jako např. 8bitový Z-80 počítal operace přes 4bit ALU). SVE je nový, ale počítá se s jeho objevováním v následujících ARM SoC (např. díky tomu, že minimum je fyzicky 128bit, což odpovídá dosavadnímu NEON). Vzhledem k tomu, že AVX-512 skoro nikde není (jen pár Intel CPU, žádné AMD CPU), tak ani nejsou výrobci ARMů nějak výrazně pozadu.
SVE teprve bude, NEON je teď 128-bitový a dobře supluje SSE/AVX. 512-bitové instrukce sice má jen "pár intel CPU", ale jsou to zrovna ty procesory, které jsou v drtivé většině serverů, i s třemi 512-bitovými jednotkami umí xeon udělat dost práce, pokud se použijí.
Řada aplikací a zejména velkých databází z širokých slov poměrně signifikantně těží, m1 ukázal moc pěkný směr a rád bych viděl ARM i v běžných serverech, co kupujeme zákazníkům.
SVE už je, třeba nejrychlejší počítač na světě je celý založen na něm. "Drtivá většina serverů" je trochu zavádějící, když např. 100 % nových serverů pro GPGPU výpočty je na EPYCu (protože jedna globální root domain pro technologii, co nevím, jak se jmenuje v serverech, ale na PC/Windows je to DirectStorage). Druhá věc je, že nás obyčejný lidi (desktop) moc nezajímá, co je někde na serverech, ale co můžem mít doma (v případě vývojářů marketshare jednotlivých technologií mezi uživateli).
v hlavě jsem měl arm na servery, to jsem měl zmínit, tam se široká slova používají dost, u desktopu to je okrajové vzhledem k nepodpoře těch cpu.
Superpočítače je trochu jiná liga, tam i HW je často dost custom, to není ještě to správné rozšíření, pohledem na aktuální top100 https://www.top500.org/lists/top500/list/2020/11/ těch epyců tam je do 10 %.
Drtivá většina serverů v běžných datacentrech, na hostingy, pro služby je zatím nad Inten xeon (některá čísla ukazují i 96% zastoupení intelu a 80 % v desktopech), viz např. https://www.extremetech.com/computing/305839-intel-amd-both-claim-wins-based-on-new-market-share-data. To se shoduje s tím, co vidím v českých DC a co kupujeme klientům.
ARM s SVE jsem ještě v ruce neměl, speciálka pro superpočítač od Fujitsu je zatím hodně vzdálené běžnému použití.
> pohledem na aktuální top100 https://www.top500.org/lists/top500/list/2020/11/ těch epyců tam je do 10 %.
Jak dlouho jsou EPYCy, jak dlouho se staví superpočítač, kolik % serverů je GPGPU. Neříkám, že Xeony nemaj své místo. Koneckonců AVX-512 je jejich jediná zbraň (ne všechno jde počítat přes GPU).
Taky je v serverech obrovská setrvačnost. Brácha dělá v nadnárodní firmě a zaskočilo ho, když se ho jeden manažer zcela vážně zeptal, jestli na EPYCu jede Windows Server.
> SVE není určené pro spotřební CPU, ale pro HPC. Kdo by to taky dával do mobilů.
To je stejné, jako proč by někdo dával do mobilů AVX-512. Koneckonců, Intel dodnes prodává CPU i bez úplně první verze AVX, a už tam kvůli tomu nejedou některý aplikace (hlavně hry, protože i 7 let starý PS4 non-Pro s Atom-class Jaguar CPU má AVX). Intel dokonce plánuje non-AVX procesory do budoucna (nižší hybridní modely, kde malá jádra z Atomu budou blokovat AVX na velkých jádrech - a na vyšších hybridních modelech budou menší jádra blokovat AVX-512 na větších).
> určené všude tam, kde se teď používá NEON
To je na SVE nejlepší. Každý bude moci programovat pro SVE, i na nějakém budoucím RPi. A výkon bude krásně škálovat směrem k highend mobilním, desktopovým a serverovým CPU. Tohle je hlavní problém AVX-512 - rozšířenost mimo CPU-výpočetní servery.
Neon je v lepších ARMových CPU na úrovni AVX2, má čtyři 128-bitové FMA jednotky, AVX2 má dvě 256-bitové. Intel má v CPU pro tablety a notebooky (např. v Surfacech) jednu 512-bitovou, takže to vyjde nastejno, jako třeba Apple M1. AVX-512 má ale pár vychytávek jako gather/scatter a pokročilé maskování (ostatně původně to vyvíjeli pro GPU), což je hezké pro vývojáře a překladače, ale za cenu zabrání spousty křemíku (a taky to pak funguje jako přímotop).
Možná záleží na tom, jaká sada SIMD instrukcí. Rosetta 2 na Apple Silicon neumí nic z AVX a emulace AMD64 na Windows pro ARM64 taky ne. Člověk by řekl, že důvod je technický (zbytečně nafouklá a složitá sada instrukcí, když každá rozumná aplikace má stejně fallback na SSE). Ale možná to je kvůli zmíněným patentům. Každopádně nejlepší bude, když tvůrci aplikací přeloží nativní verze pro ARM.
Omezení v emulátorech je hlavně kvůli pracnosti. Emulací novějších instrukcí stejně výkon emulované aplikace nezvedneš, na to ji musíš zkompilovat nativně.
Teoreticky lze výkon přidáním dalších instrukcí dokonce snížit, jako se stalo s emulací Motorola na PowerPC, když Apple přešel na jinou CPU architekturu předpředtím :-) (nejnižší model PPC CPU měl příliš malou cache, aby se tam vešel emulátor a zároveň kód aplikace, takže velký propad výkonu v emulovaných aplikacích).