21. 3. 2013

PS4 CPU - sralbotka ?


Nvidia si toť minule otvorila hubu na adresu Playstation 4 a celú jej konfiguráciu nazvala "low-end CPU, low/mid-end GPU". V skutočnosti SONY neponúklo nenažratej Nvidii dosť peňazí, takže zakázku na GPU pre všetky tri next gen konzoly získalo AMD. OK, je to o trochu komplikovanejšie. SONY, MS a Nintendo chcelo riešenie, kde na jednom silikóne /SOC - system on chip, MCM - multi chip module/ je naraz CPU/GPU a trochu RAM. Cieľom je maximálna kontrola nad výrobnou cenou tohto komba a jej veľmi rýchle znižovanie pri prechode na menší výrobný proces /45nm-28nm-18nm/. Nvidia však podobný design neponúka, v PC desktop segmente neviem o žiadnom NV GPU spojenom s x86 CPU pod jednou strechou. Čo má je spojenie mobilného NV GPU+ARM CPU /Tegra/. ARM však nemá dosť výkonu pre veľké konzoly a to ani vo svojej najlepšej Cortex-A15 verzii. SONY teda pri PS4ke viacmenej inú možnosť ako adaptáciu APU fusion AMD technológie - nemalo.

"I can’t speak freely about PS4, but now that some specs have been made public, I can say that Sony made wise engineering choices." - Carmack

CPU PS4ky sa teda považuje za jej slabinu. Hravo dokážem opak, na konci tohto článku mi ešte budete tlieskať. Repetitórium. PS4 CPU bude mať aj na nominálnej pracovnej frekvencii 1.6Ghz o dosť vyšší celočíselný výkon ako CELL a o dosť nižší výkon v plávajúcej čiarke. Avšak na pomoc tu prichádzajú špecializované čipy, ktoré z pliec PS4 CPU zoberú prácu na ktorej inak makal CELL. PS4 CPU má HW podporu pre audio /mixovanie, reverb, DSP/, rozbaľovanie zabalených súborov v reálnom čase, video-audio kóder/enkóder atď. Vo finále teda PS4 CPU + akcelerátory dokáže to isté ako CELL a ešte oveľa viac. CELL totiž polovicu výkonu pravidelne minul na pomoc poslabšiemu GPU od Nvidie. Santa Monika sa už stihla vyjadriť, že PS4 im konečne umožní oslobodiť sa od náročného low level kódingu grafiky na CELL CPU, lebo PS4 GPU je dosť "šikovné" GPU.


Tento članok však v skutočnosti bude o teórii relativity a ľudskej pýche, aj keď tu uvediem aj zopár exaktných čísel. Vieme, že Wee Uu s ohľadom na spätnú  kompatibilitu s Wee a vlastne aj s NGC dostalo opať CPU od IBM - starú dobrú Power PC 750ku. Pre Wee Uu pripravili jej trojjadrovú - singel thread per jadro variantu na 1.24Ghz /vo Wee beží na 729 MHz, v NGC na 486MHz, nejde samozrejme o presne to isté CPU/. Inak je pre mňa stále veľmi zaujímavé sledovať ako si tento slabinger poradí s konverziami multiplat hier určených pôvodne pre PS3/xcrap. Samozrejme framerate občas padá na hubu, ale ťažko odlíšime koľko tej škody ide na vrub slabšieho CPU alebo menej výkonného pamäťového subsystému. Vo finále to však utiahne autíčkovú sandbox arkádu NSF:MW od Criterionu a to vo veľmi uspokojivej podobe. Pre porovnanie na ten istý výsledok používa xcrap 3 jadrá na 3.2Ghz /6 x thread/ a PS3 zas 8 jadier na 3.2Ghz /PPE x 2 thread plus SPE x 7 thread/. Wee Uu si vystačí iba s troma jadrami a troma vláknami na oveľa nižšej pracovnej frekvencii. Myslím, že aj to dosť názorne svedčí o tom, ako sú dnešné hry /herný design/ viac GPU závislé.

Predsa som však chcel nejako porovnať "low-end CPU" PS4ky s Wee Uu. Nejaký testík /integer, fp - to je jedno, ide o relatívne rozdiely/, nech vieme na čom sme. To čo som našiel a dal dokopy berte hrubo orientačne. Veľmi hrubo. Nižšie sa v číslach ukáže zmes dosť odlišných architektúr /2-way SIMD, 4-way SIMD, OoO, IoE/, inštrukčných setov /SSE, Neon, SP/ a pracovných frekvencií. Test nebol pre jednotlivé CPU nijako zvlášť optimalizovaný, až na nutné výnimky. Bobcat bojoval s trochu zmäteným kompilérom. Cortex-A8 to zvládol ale strašne neefektívne, takže na to berme ohľad. Auto-vektorizácia je proste stále problém. Všetky CPU bežia v prostredí GNU Compiler Collection /GCC 4.6.3/ a v teste - matmul SIMD loop, jednoduchá aritmetika.

Legenda: názov procáku, čas v teste /menej je lepšie/, normalizovaný výkon per Mhz /menej je lepšie/ :

    IBM PowerPC 750CL Broadway - 729MHz .. 6.1s .. 4446 bodov
    AMD Brazos Bobcat - 1333MHz .. 4.4s .. 5930 bodov
    Freescale Cortex-A8 IMX535 - 1000MHz .. 7.05s .. 7050 bodov
    Intel Bloomfield Xeon W3565 - 3200MHz ..  0.56s .. 1780 bodov

Z benchmarku vyplýva následovné. Ignorujte Intel - je tam len na parádu, žerie 10 krát toľko šťavy ako je priemer tých zvyšných troch, má ďaleko komplexnejší design  /4-way OoO SIMD plus SSE 3/, je oveľa drahší. IBM 750ka /CPU pre NGC, Wee, Wee Uu/ na tom nie je až tak zle ako sa na prvý pohľad zdalo /ide síce o kalkulácie - paired singles, 2x32 bit ale nebudem vám to komplikovať/. Bobcat /SS3 inštrukcie/ má v skutočnosti lepší výkon, kompilér to proste posral. Mobilný Cortex A8 /Neon inštrukcie/ zabodoval veľmi slušne, PSV má Cortex-A9 a ide objektívne o veľmi slušné CPU. 

O iné prachy sa tu však hraje, teraz pozor. PS4 Jaguar, ktoré je vývojovo mladším bratom Bobcatu podáva jednak lepší integer výkon, druhak ma výrazné posilnené SIMD /fp/ časť. Prichádza s podporou pre nové SSE 4.2 a AVX inštrukcie. Rapídny nárast fp výkon. Skromný odhad hovorí, že PS4 CPU na 2GHz bude mať na jedno jadro SIMD výkon o 100% než Wee Uu CPU na 1.2Ghz. Ak vám to nedošlo. Osem jadier PS4 CPU bude na papieri ako 16 menej výkonných Wee Uu jadier. Sledujte teraz moju logiku.

Ak tri jadrá Wee Uu stačia bez zadýchania na NFS:MW a s malým zadýchaním na ostatné multiplat srágory, potom - 6 jadier si bude zo zívaním venčiť delfína a druhou rukou loviť holuby z nosa, 9 jadier holou rukou ukuje zo žeravého železa Thorovo kladivo, 12 jadier nadvihne na penise lietadlovú loď, 15 jadier vylezie z dna Mariánskej priekopy na Mt. Everest za menej ako hodinu. Bez kyslíka.

To bolo teória, teraz ten príbeh a avizovaný potlesk. Pre moju skromnú osobu. O relativite tu nehovorím zbytočne. Ešte raz použijem hru NFS: MW. Beží bez problémov na PS3 /CELL/, beží bez problémov na Wee Uu /slabšia IBM 750ka/, beží bez problémov na handhelde PSV /sám dev tím sa cháli, že hra je zhodná s PS3 verziu, PSV má ešte slabšie CPU Cortex-A9 než Wee Uu/. Dokonca to úplne hladko beží aj na PS2ke. A jej CPU je asi 50+ krát pomalšie ako CELL v PS3ke. Kričíte, že tá hra na PS2ke nie je NFS:MW. Prdlačka. Ide herne stále o tu istú gamesu a herná mechanika nie je na PS2ke o nič ochudobnená. A to bez ohľadu na jeho, z dnešného pohľadu, patetické CPU. Povedzte mi teda na čo tých "8-16-1000" jadier PS4 chcete vlastne použiť, keď ste nič navyše neurobili už na PS3ke s jeho zjavnou, výkonnostnou prevahou oproti PS2. Tlieskajte, bratia, tlieskajte.