Apple M4: Nudný čip se starými jádry z předchozí generace, nebo výkonnostní šampion?

10. 5. 2024

Sdílet

Apple M4. ilustrace Autor: Apple
Apple M4. ilustrace
Apple vydal M4 jen půl roku po předchozím M3, pročež se pochybuje, že by měl novou architekturu. V rozporu s tím ale skóruje velmi vysoko v některých benchmarcích. Jak to tedy je? Zdá se, že jeden jediný subtest v Geekbench 6.3 mu vylepšuje skóre ze 3450 až na 3800 bodů…

Jen před pár týdny se začaly objevovat zprávy o tom, že Apple už teď na jaře uvede (podivně v tabletu) novou generaci procesorů M4, přestože předchozí M3 vyšlo s velkou slávou teprve na podzim. Překvapivě se tato zpráva potvrdila a Apple opravdu po takto krátké době vytáhl nový čip (což vyvolává otázky nad povedeností M3). Hned se proto vyrojily dohady, že jde spíš jen o refresh bez nové architektury. Vzápětí ale zase přichází senzační benchmarková skóre. Jak to tedy s M4 je?

Co se dozvíte v článku
  1. M4
  2. Extrémně vysoký výkon (v Geekbenchi)?
  3. Extrémní frekvence a SME
  4. IPC je vyšší jen o 3 %, možná kvůli pamětem. Jádro asi není nové
  5. Z nárůstu jednovláknového výkonu o 12 % je v Geekbenchi dvojnásobek

M4

O odhalení iPadu s procesorem M4 jsme již psali. Procesor samotný má 4 výkonná jádra a novinka je, že malých efektivních jader obsahuje šestici místo čtveřice – z tohoto může čerpat výhody v mnohovláknovém výkonu. Také dostal GPU o 10 jádrech (1280 shaderech) s podporou ray tracingu, to je ale zřejmě kompletně převzaté z generace Apple M3, a není tedy novinkou. Levnější verze procesoru M4 má jen 3 velká jádra, zatímco 6 malých a 10jádrové GPU je zachováno.

Nové iPady Air a Pro: V hlavní roli nový procesor M4, dvojitý OLED displej a zbrusu nové příslušenství Přečtěte si také:

Nové iPady Air a Pro: V hlavní roli nový procesor M4, dvojitý OLED displej a zbrusu nové příslušenství

Naopak nová je podpora rychlejších pamětí LPDDR5X-7700, které procesoru dodávají vyšší propustnost (120 GB/s, o 20 % více než v M3) a asi pomáhají výkonu jak CPU, tak GPU. Kapacity mohou být od 8 do 24 GB. Nová by asi měla být i NPU pro akceleraci umělé inteligence, která má 16 jader. Apple uvádí výkon až 38 TOPS (nevíme ale, zda jde o výkon s datovými typy INT8, či třeba INT4).

Poměrně závažná informace může být, že ačkoliv je M4 také vyráběno 3nm procesem, jde o druhou generaci této technologie – vypadá to na N3E, zatímco M3 je vyráběné první „base“ verzí N3B. Proces N3E zřejmě řeší některé problémy technologie N3B, má zřejmě dosahovat lepšího výkonu a energetické efektivity, ovšem snad za cenu o něco horší hustoty tranzistorů. Je možné, že bude i lepší výtěžnost, což by mohl být ten důvod, kvůli kterému Apple urychlil vydání M4 a nenechal si ho až na podzim.

Procesor Apple M4

Procesor M4 (prezentace Applu)

Autor: Apple

Apple v prezentaci M4 neřekl, že by jádra měla novou architekturu oproti M3, a firma procesor srovnávala s předchozím M2, přičemž její slajd ukazuje stejný popis zlepšení architektury, jako bylo na podzim uváděno mezi M2 a M3. Z toho se usuzuje, že procesor má stejnou architekturu jader jako M3. Nečekalo se tedy nějaké radikální navýšení jednovláknového výkonu.

Extrémně vysoký výkon (v Geekbenchi)?

Nicméně první prosáklé benchmarky uvádějí překvapivě velký rozdíl proti M3 – s výkonem, který by představoval větší inkrementální nárůst, než předvedlo samotné M3. V databázi Geekbench se objevily výsledky, kde tento procesor dosahuje mnohovláknových skóre (která u tohoto testu nejsou moc relevantní) někde okolo 14 500 bodů, ale důležité je jeho jednovláknové skóre, vycházející až na 3750 až 3800 bodů, což je nevídaný výsledek.

Různá skóre pro tabledy Applu s procesorem M4 v Geekbench

Různá skóre pro tablety Applu s procesorem M4 v Geekbenchi

Autor: Geekbench browser

Například Ryzen 9 7950X z roku 2022 má ve Windows těsně nad 3000 bodů, letošní Core i9–14900KS mívá přes 3100 – alespoň tedy ve starší verzi, zatímco zde je testována ta nejnovější (výsledky hodně kolísají a dají se zlepšit například rychlými pamětmi nebo vypnutím ochrany VBS ve Windows). Je pravděpodobné, že tabletová platforma iOS automaticky dává procesoru vždy o něco vyšší skóre, než by stejný stejný procesor hypoteticky podával pod Windows (v Linuxu jsou obecně vyšší), avšak to rozhodně nevysvětluje celý rozdíl.

Procesor Apple M3 vydaný na podzim poprvé uvedl novou architekturu jádra s širším designem a více výpočetními jednotkami a současně poprvé nasadil 3nm proces. Ono podivování se nad tím, že by hned tak rychle vyšla další úplně nová architektura, je tedy namístě.

A vypadá to, že přes ono vysoké skóre by základní architektura mohla skutečně být v podstatě jádrem z procesoru M3. V podstatě, ale ne úplně, protože se objevily informace, že toto CPU poskytuje navíc instrukce SME pro maticové výpočty používané v AI, což je ARM obdoba instrukcí AMX od Intelu.

Extrémní frekvence a SME

Právě instrukce SME by měly být využívány v Geekbenchi 6.3 pro ARM a tato optimalizace, zdá se, zvyšuje výkon jádra o víc než 100 % v jednom jediném subtestu celého benchmarku – Object Detection. Protože jde o takto velký skok, je tím značně ovlivněn i celkový průměr. Toto je, zdá se, první z faktorů, které vynesly jednovláknové skóre o tolik výš než u M3.

Rozpis nárůstu výkonu mezi M4 a M3 pro jednotlivé subtesty Geekbench 6.3

Rozpis nárůstu výkonu mezi M4 a M3 pro jednotlivé subtesty Geekbench 6.3

Autor: Geekbench browser

Druhým z důvodů toho, že se výkon o tolik zvýšil, je taktovací frekvence. Ta podle detekce Geekbench 6.3 stoupla na 4,40 GHz, což je úctyhodné vzhledem k tomu, že v době M1 byly takty jen trošku nad 3 GHz a často se předpokládalo, že to kvůli širokému jádru o moc výš nepůjde.

Apple M4 v databázi Geekbench

Apple M4 v databázi Geekbench

Autor: Geekbench browser

Nicméně Apple evidentně pracoval na tom, aby nové jádro, které mělo premiéru v M3, dokázalo běžet na vyšších frekvencích (údajně například byly prodloužené některé latence), a nyní po přechodu na kvalitnější 3nm proces N3E z toho asi vybírá dividendu. Proti M3, které má frekvenci velkých jader 4,05 GHz (už tak hodně na poměry ARM CPU), je to tedy nárůst o skoro 8,6 %.

IPC je vyšší jen o 3 %, možná kvůli pamětem. Jádro asi není nové

Na Twitteru se objevil výpočet, podle kterého z této frekvence vychází, že M4 má o 7,6 % vyšší výkon na 1 MHz (neboli IPC) v Geekbenchi 6.3, avšak bez onoho subtestu Object Detection, který používá instrukce SME, by nárůst byl jen o 3,0 %.

Toto už dost drobné zlepšení IPC by částečně mohlo reflektovat nějaké menší změny nebo možná opravená errata zvyšující výkon v architektuře M4. Ale část těchto 3 % je pravděpodobně jen dílem pamětí LPDDR5X-7700 s jejich o 20 % zvýšenou propustností.

Jsou tedy asi možné obě verze. Je možné, že Apple M4 má už částečně nové jádro, ale v takovém případě by se pořád asi nedalo mluvit o nové architektuře, ale spíš o vylepšené verzi té z podzimu. Ale může jít i o jádro téměř úplně stejné, jen výše taktované, toto je asi i pravděpodobnější varianta.

Instrukce SME totiž nemusí provádět přímo jádro CPU, ale zřejmě je obsluhuje samostatný akcelerační koprocesor AMX, který Apple už má v jádrech nějakou dobu.

Jednotka AMX neměla veřejně dokumentovanou instrukční sadu a programátoři ji směli používat jen přes knihovny Applu, které poskytovaly implementace různých algoritmů akcelerovaných na této jednotce. Pokud ale nyní byl tento blok přepracován tak, aby mohl být programován přes instrukce SME, pak ho už asi bude moci využívat i externí kód v aplikacích třetích stran.

Nicméně SME asi bude dost „jednoúčelné“. Respektive bude mít uplatnění hlavně, nebo výhradně v aplikacích umělé inteligence provádějících inferenci na CPU. Nelze tedy čekat, že by se ona 100 % navýšení výkonu z testu Object Detection objevovala jinde než v AI úlohách (které nicméně mají i možnost používat GPU nebo NPU).

Apple by mohl dosáhnout obecněji využitelného zlepšení výkonu na 1 MHz tím, že by poskytl v jádru SIMD jednotky s větší šířkou než 128 bitů skrze instrukce SVE a SVE 2. Ty by při 256bitové šířce konkurovaly AVX2 a AVX10 procesorů Intel a AMD, nebo při 512bitové šířce i AVX-512 (takto široké jednotky ale nejsou úplně pravděpodobné).

Intel AVX10: Řešení problémů se SIMD na malých jádrech, ale možná také umíráček AVX-512 Přečtěte si také:

Intel AVX10: Řešení problémů se SIMD na malých jádrech, ale možná také umíráček AVX-512

Doteď to vypadalo, že o SVE / SVE 2 nemá Apple zájem a tyto instrukce nemá ani jádro Oryon od Qualcommu (ve Snapdragonech X Elite a Plus). Spekuluje se o tom, že ARM chce za ARMv9 a SVE / SVE 2 víc peněz, což blokuje rozšíření těchto instrukcí. Ovšem to, že Apple přijal instrukce SME, by mohlo asi ukazovat nějakou šanci, že se firmy dohodly na licencování a že by se tyto výkonnější SIMD instrukce mohly v procesorech Apple jednou objevit.

Z nárůstu jednovláknového výkonu o 12 % je v Geekbenchi dvojnásobek

Pokud se tedy ponechá SME stranou, vychází pro procesor M4 teoretický nárůst jednovláknového výkonu o 3 % z IPC (díky pamětem a – možná – dalším věcem) a o 8,6 % díky vyšší frekvenci. Dohromady by to mělo znamenat, že M4 na 4,4 GHz má nárůst obecného jednovláknového výkonu ve skutečnosti o +11,9 % proti předchozímu procesoru M3 s taktem 4,05 GHz, přestože skóre v Geekbenchi 6.3 ukazuje po zahrnutí SME do průměru nárůst dvojnásobný (až +23 %, závisí ale na tom, jaký přesně výsledek v databázi zvolíte pro srovnání).

Průměrování subtestů v těchto sadách syntetických benchmarků je tedy, jak můžete vidět, někdy dost ošidné. Bez efektu SME by zřejmě skóre bylo jen něco kolem 3450 bodů v jednovláknovém testu, nikoliv 3800. V předchozích verzích takto hodně ovlivňovaly skóre výsledky paměťových syntetických testů (GB4) nebo kryptografického rozšíření (GB5, tam zase profitovala jádra procesorů Intel Ice Lake, Tiger Lake a Rocket Lake).

bitcoin školení listopad 24

I s 3450 body by měl procesor M4 prakticky nejvyšší jednovláknový výkon na trhu (i když nevylučujeme, že se na toto skóre dá u Core i9–14900K a i9–14900KS dostat s nějakými optimálními paměťovými moduly a v Linuxu, který dává lepší skóre než Windows), ale už to není extrémní náskok proti všemu ostatnímu.

Zdroje: AnandTech, Tom’s Hardware, Nguyen Phi Hung (1, 2)