Hlavní navigace

Odpověď na názor

Odpovídáte na názor k článku AMD oficiálně potvrdilo big.LITTLE procesory a APU Phoenix2 se Zenem 4c. Měří 137 mm². Názory mohou přidávat pouze registrovaní uživatelé.

  • Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví.
  • 5. 7. 2023 15:46

    Jan Olšan

    1) a 3-4) Malá jádra iMHO nejsou principiálně špatně. Ta koncepce má svoje teoretické opodstatnění. Může dosáhnout vyšší ST i MT výkon v určité dané ploše a aspoň teoreticky takové CPU může být i víc energeticky efektivní. Je to díky tomu, že velká jádro se může specializovat na herní a ST výkon víc než univerzální jádro a malé nebo střední jádro se může specializovat na nízkou spotřebu nebo "throughput"MT výkon víc než univerzální jádro. Tuším jsem to zkoušel načrtnout v tomhle článku na začátku: https://www.cnews.cz/clanky/intel-alder-lake-male-jadro-gracemont-efficient-core-architektura-nejefektivnejsi-x86-jadro/

    5) ARM přišel s trochu odlišnou koncepcí SIMD, než se doteď používala/používá. U SSEx a AVX/AVX2 a AVX-512 nebo u ARM NEON je daná šířka vektorových registrů (tedy kolik hodnot najednou instrukce zpracuje - 128, 256, 512 bitů) .

    SVE (Scalable Vector Extension) místo toho přišlo s nápadem, že ty instrukce by měly virtuálně šířku až 2048 bitů, což by ale bylo v procesoru implementováno na mnohem menších jednotkách a mezi tím by byla nějaká míra abstrakce, aby programátor napsal aplikaci jenom jednou a pak to fungovalo na procesorech s různou šířkou vektorů. To je teorie, ale mezitím co jsem koukal se už stejně přišlo na to, že nejspíš pořád bude nutné psát kód zvlášť pro různé reálné fyzické šířky výpočetních jednotek, aby byl optimální. Takže nakonec to možná v praxi nebude moc rozdíl proti SSE/AVX/AVX512.

    Jsou to dvě odlišené koncepce. Ta fixní verze SIMD (ovšem ne úplně fixní, protože se taky dá udělat třeba VX2 nebo AVX-512 na jednotkách s poloviční šířkou) je dlouhodobě osvědčená, víme, že funguje. SVE bylo dlouho jen na papíře, pak to bylo v HPC procesoru Fujitsu A64fx (s tím projektem asi ten celý vývoj souvisí) a až posledních pár let to dostala standardní jádra ARM.

    IMHO se ještě teprve ukáže, jestli je to opravdu v něčem lepší (někde asi může být i negativum - ta větší abstrakce IMHO může znamenat, že při maximálním ručním ladění výkonu může ten škálovatelný variabilní vektor dopadnout hůř než fixní). Zatím bych spíš opatrně tipoval, že to bude nějak fungovat a prostě to budou dva alternativní přístupy současně používané v praxi. V autech jsme taky sto let měli jak vznětové, tak zážehové motory a bylo kravina o jednom z toho tvrdit, že je to revoluce, naprostý zázrak zatímco to druhé katastrofa, blé, vykopávka a šmejd, jako blouzní Jim Keller /Richie Rich/6ALU...

    Například pořád tlačí to o "2048 bit" šířce. Jenomže ta je jenom virtuální. Fujistu ponecháme stranou, protože to není obecné CPU (zkuste si ho někde koupit...).

    Jádro ARM Neoverse V1 má instrukce SVE, které umí jenom floating point data ale počítá je na jednotkách se šířkou 256 bitů, což tento maniak rád ignoruje. No a tím je daný výkon, který tím pádem je jenom jako u instrukcí AVX, které drtivá většina procesorů (Haswell+, Zen2+, tj. 2013-2019) počítá na 256bitových jednotkách.

    V běžných zařízeních jádra ARM Cortex používají jenom 128bitové jednotky (už ale umí i SVE2, takže konečně i celočíselné výpočty pro multimedia), což už je na úrovni instrukcí SSE* na procesorech Intel Core 2 a AMD K10 (2006-2007).