Showing posts with label AMD. Show all posts
Showing posts with label AMD. Show all posts

12/05/20

Variable Rate Shading /VRS/


Didaktický príklad. ZX Spectrum obsluhuje svoju cca 6 kilobajtovú VRAM /rozlíšenie obrazu 256x192 pixel/ s pomocou CPU o rýchlosti 3.5Mhz. Nemá klasický videočip, procák to musí obehať celé sám. Nové ZX Spectrum Next v tom istom rozlíšení ale už s 256 farbami potrebuje 48 kilovú VRAM, teda 8 krát väčší objem dát. Prvé čo vás napadne je, že CPU by teda malo nárasť tiež 8 násobne na rýchlosť 28Mhz. A presne to sa im aj podarilo, aj keď ZX Spectrum Next už má aj to vykonné grafické jadro. Súčasnosť. Dosluhujúci Xbox One X má cca 6 TFLOP GPU a povedzme, že sa najlepšie cíti v rozlíšení 2560x1440x30 Hz na "ultra" detailoch. Ak to rozlíšenie a framerate chcete zlepšiť o 100% a pridať nejaké raytrace efekty potrebujete minimálne 6x4 = 24TFLOPs. Chystaný Xbox Series X však má "iba" 12 a tých 24 dostane až "PRO" verzia o 2-3 roky. Pripravovanú Valhalu od Ubisoftu na 4K/60 určite neutiahne ani Nv2080Ti a nič lepšie v tomto momente nemáme. Musíme preto objem spracovaných grafických dát výrazne zmenšiť aby sme pomohli nie dosť dobre dimenzovanej grafike.

Množstvo optimalizácií v moderných GPU je v tomto smere ohromné. Redukuje, komprimuje sa úplne všetko /textúry, farba, polygóny, geometria, normály, Z buffer/. Ak by sme to nerobili tak dnešná 4K/60 gamesa by napríklad vždy vyžadovala RAM o priepustnosti jedného terabajtu. Desivé. Najnovším hitom /na softvérovej úrovni už použitý/ je hardverová podpora pre premenlivú presnosť rátania presnosti grafických výpočtov alias Variable Rate Shading /VRS/. Táto technika na to ide opačne - "nekomprimuje", proste to v danom mieste vôbec nevypočíta a použije sa spriemerovaná hodnota od susedného /ných/ pixelov. Funguje to asi ako obrázky v JPEG formáte. Viď čínske vlajky.


Vlajka vľavo zaberie menej dát ako tá vpravo. Na kódovanie uniformnej farebnej plochy vám treba menej bajtov ako keď má každý jeden individuálny pixel nekompromisne inú farbu a musí byť uložený extra. JPEG algoritmus teda analyzuje obrázok, snaží sa najsť susedné pixely, ktorých odtieň sa líši iba o ten jeden povestný chlp a priradí im tú istú farbu a ušetrí kopu miesta. Tento "macroblocking" môžte urobiť v matrixi 2x2 pixel, 4x4, 8x8 alebo 2x1, či 4x2 s tým úmyslom, aby sa napáchalo čo najmenej vizuálnej škody. VRS pracuje veľmi podobne.

VRS - slabo modré počítame presne 1:1, žlté a zelené tak na polovicu, 
červené a fialové na štvrtinu a menej.

Herný kód a GPU si v hre prejde frame a po analýze sa rozhodne spočítať iba každý druhý pixel, ak zistí, že táto časť hry je v "tieni" s tak málo kontrastnými farbami, že je zbytočné tam rátať grafiku v plnej presnosti. Alebo sa vykašle na tie časti, ktoré sú vo veľkom motion blure. Alebo na tie oblasti, kde predpokladá, že sa hráč nepozerá, lebo v aute letí 320kmh a čumí na apex zákruty pred sebou a nie do ľavého dolného rohu. Úspora na výkone sa priemerne predpokladá na úrovni 10 až 30%. O to lepší framerate alebo rozlíšenie teda môžte dosiahnuť. RDNA2 architektúra v oboch konzolách PS5 aj XSX túto fičúru podporuje a predpokladá sa, že si ju SONY a MS ešte viac a lepšie upravia pre herné účely. VRS je možné použiť aj opačne a síce orezať perifériu až na kosť ale zvýšiť razantne kvalitu nad rámec normálu v geometrickom strede obrazu.

Hovorím o režime pre VR prilbu s foveated renderingom.Presnejšie Dynamic foveated rendering /DFR/. Ešte presnejšie DFR s eye trackingom. V preklade - VR prilba monitoruje pohyb vašej zreničky, vie presne kde sa pozeráte na rozdiel od bežnej telky či monitora, teda dokáže bezpečne rozpoznať a vypnúť "perifériu" vášho zorného poľa. Funguje to rovnako aj pri normálnom oku v živých podmienkách. Je ľahké takto dosiahnuť aj 40% úsporu výkonu a teda skok z 60 na 90 fps zadarmo pri prechode z 2D monitora na "3D" VR prilbu.

VRS predpokladá sofistikované úpravy "blend" režimov grafickej karty, lebo niečo tú novú grafickú informáciu z ničoho urobiť musí. SONY s tým už má svoje skúsenosti pri upscale technikách na PS4 PRO /HW podpora pre checkerboard škálovanie/ a náhoda chcela, že som narazil na nepriame potvrdenie tohto predpokladu. V tomto odkaze AMD propaguje svoje nové hračky pre RDNA grafické karty. Sledujte hneď prvý riadok, ktorý na nás AMD vytiahlo - Stochastic Screen Space Reflections (SSSR). Ušetrím vás únavnej teórie / hierarchické riešenie Z buffera, nelineárne odšumovanie - denoise, odrazová mipmap pyramída, raycast podvzorkovanie, pseudo reprojekcia sekundárných odrazov, fresnel odrazov, oklúzia svetla, ambientné tiene/. Náročný problém.

Ide o dobre známy postup riešenia odrazov v reálnom čase. SSSR je oveľa presnejší, flexibilnejší, výkonnejší ako bežné, masovo používané screen space reflexie a zároveň oveľa menej náročnejší ako "pravý" raytracing. Háčik je to slovo stochastický, čo znamená že tento postup proste odhaduje s istou pravdepodobnosť finálny výsledok a výstup z SSSR je veľmi neistý, zašumený, podvzorkovaný. Musíte aplikovať komplexne "odšumovacie", denoise postupy. Prácne, pomalé. A práve tento bod si AMD poriešilo na RDNA grafikách a práve táto finta sa úžasne hodí aj pre potreby VRS.

Na next gen konzolách teda vývojári dostanú veľmi, veľmi mocné nástroje vďaka novej hyper programovateľnej render pipelajne /veľká RDNA2 paradigma/ a vyladených HW gfx modulov. Hry budú mať dynamické rozlíšenie, dynamický framerate, dynamickú kvalitu shader kódu. RDNA2G v konzolách /môj vlastný terminus technicus, G ako herná varianta oficiálnej AMD RDNA2/ má potenciál na 10 rokov dolovania výkonu a na dno stále nenarazíte. Na čo narazíte určite bude revolučné hnutie puristov, ktoré skoro začne požadovať "pure, raw" pixely bez obsierky a grafických skratiek. Bio banány.

12/06/19

PS5 GPU - Next Gen RDNA


Oficiálne slajdy ku najnovšej AMD GPU RDNA architektúre. No vidíte, ešte sme si poriadne nepredstavili ani RDNA "jednotku" a už tu meliem o next gen "dvojke". Čo nám teda to pédéefko vlastne hovorí a aké zmeny AMD pri prechode z GCN /PS4/ na RDNA /PS5/ urobilo ? Článok som ani nemusel písať, technicky to len inak poprehadzovali. Zreteľne však vidím komplexné zmeny v granularite spracovania dát, modifikovanú L1 kešku, fillrate, primitive shader, raytracing a stovku ďalších drobností.

Granularita – predstavte si 20 metrový kĺbový autobus pendlujúci medzi zastávkami pričom v 68% percentách je na peróne len 8 ľudí, takže by stačila aj dvakrát rýchlejšia malá "ávia" s oknami a celý veľký autobus sa tam nemusí zbytočne pomaly otáčal, pálit hafo benzínu a drať drahé gumy. RDNA po novom dáva možnosť spracovania pracovných vláken /wavefront/ z originálnych natvrdo 64 /autobus/ aj na voliteľne 32/64 – malá ávia. Kompilér a kóderi sa rozhodnú podľa efektivity behu kódu. A zvýšil sa aj počet slotov, kde sa to divadlo odohráva z 16 na 32. Granularita teda znamená, že prácu „rozdrobíte“ tak aby sa ku nej vošlo viac ľudí a jeden zaspatý neblokoval celú linku /pri Wave64 znamená cache miss stratu 100 pracovných cyklov na SIMD, pri 2xWave32, ak sa jeden netrafí, ten druhý SIMD spracuje a nestojí zbytočne na mieste/. Podobné „granulačne “ zmeny sa udiali pri PS4 GPU na asynchrónnych výpočetných jednotkách /ACE engine/. Wavefront sa pri Nvidii volá tuším Warp a tieto úpravy tam majú tiež.

L1 keška – je to dosť, dosť veľká zmena. L1 pri GCN mala veľkosť 16KB. Po novom je z L1 – 16 kilová L0 a nová veľkosť L1 je 128KB /!/, koherencia s L0 a L2 umožňuje sa ku GPU správať aj ako ku CPU. To je veľká vec, alebo ak chcete ako ku SPE jednotkám CELL CPU PS3ky. Enormne stúpnu nielen grafické možnosti grafického čipu. Penále za cache miss pri príliš veľkom wavefronte som už spomínal vyššie, aj ten je možné maskovať, ide však vždy o trade off biznis, keď kompilér berie do úvahy ILP /inštrukčný paralelizmus/ alebo počet voľných registrov na SIMD  - nová vsuvka, zdieľanie registrov v SIMD Shader bloku, kompilér to robil istú dobu virtuálne, teraz to máte aj na HW úrovni. Opäť Nvidia pri Turing sérii urobili s L1 presne to isté.

Fillrate – AMD GPU sú tradične nedostižné v hrubej výpočtovej sile /ťaženie bitcoinov !!/ ale trochu to krývalo na zadnú lapku v chrlení pixelov /ROPs, TMUs atď./ Došlo tu ku náprave, nárast počtu ROPs, rasterizačných jednotiek z 32 /AMD RX 580ka/ na lepší štandard 64. Záujímavosť – pri PS4 si Mark Cerny vydupal GPU s 32 ROPs aj keď vtedy sa trochu špekulovalo čo z toho, keď tam nie je pamäť s až tak veľkou priepustnosťou aby to uživila. Nuž nakoniec to dobre dopadlo a tie ROPs "navyše" tam boli hlavne kvôli PS VR. Xbox One má GPU iba s 16 ROPs. 

Primitive Shader – ako začať, skúsení progiši hovoria, že ta stará klasická HW T@L, teda hardvérová podpora pre svetlo a transformácie sa časom ukázala ako strašná kravina proti VU vertex pipelajne PS2ky !! HW T@L viedlo ku vertex/pixel shaderom, tie zas ku riešeniu "špeciálnych" prípadov hlavne pri spracovaní geometrie. Takže tu máme geometry-domain-hull-mesh shader bordeľ, všetky solídne a opakovane zlyhávali pri performance indexoch. Primitive shader je návrat ku koreňom, veľa teórie, škoda vam to vysvetľovať. AMD jeho nasadenie dlho odkladalo. Nvidia to ako vždy už má rozbehané. Vzdialený cieľ je vlastne pomaly odstrániť rasterizáciu z cesty a všetko presunúť na čistú funkciu /tvar definovaný rovnicou ako je SDF - signed distance function/ a globálny tracing svetla.


Raytracing /RT/  – viď obrázok vyššie. Obe GPU konzol PS5 aj Xbox "three" ho budú podporovať na HW úrovni, čakajte ale skromné praktické výsledky, nie totálne, globálne riešenie celej scény do A po Z. Lepšie informované zdroje uvádzajú, že sa SONY asi vydá cestou akcelerácia octree/KD binárnych datových štruktúr a MS alernatívnou BHV /bounding volume hierarchy/. SONY photon mapping, MS rekurzívny raytracing. Chcel by som vidieť teraz vaše kyslé ksichty, hehehe. Neklikajte, nemusíte to zatiaľ chápať, keď príde čas a bude to zapísane do komeňa, potom to jednoducho vysvetlím. Stačí ak viete, že ide o pohľad na jeden problém z dvoch uhlov. Ako nákladné auto so štyroma veľkými kolesami a iné s ôsmimi presne polovičnými. Áno bla bla - Nvidia to už má.

Ilustračný obrázok je tu z iného dôvodu. Prvá PC grafika na RDNA architektúre - rada 5700 totiž nemá HW podporu pre raytracing. PS5/XBOX3 ju mať budú. PC 5700ka to má na "softvérovej úrovni" via shaders. Dobre známy PB engine AMD ProRender /môžte kombinovať CPU+GPU/ alebo knižnica Radeon Rays. AMD chystá RT podporu až pre budúcoročné RDNA modely tzv. Navi+ alias "Next Gen". A práve toto sa ocitne v PS5ke. Novší kus silikónu už asi nedostanete. A všetko to čakám na špičkovej 7nm+ EUV litografii.

Šťastný koniec. Aj keď s rok a pol ročným meškaním od Nvidie bude PS5 GPU založené na RDNA model 2020 so SONY extenziami /tie budú na samostatný pokec/ - jedným naozaj nádherným, super flexibilným a výkonným GPU, ktoré nebude možné vyťažiť naplno v žiadnom prípade pri bežnom  6-7 ročnom cykle ďalšej generácie konzol. Presné čísla stále nevieme - TDP /čakám max. 110 watt/, Mhz /čakám minimálne dvojnásobok PS4 GPU, teda 1600Mhz/, flops /čakám fp32 10TFLOPs /, rýchlosť pamäte /bude minimálne na úrovni 448 giga-sec pri 14gpps, dáta sú masívne realtime komprimované, farba, vertexy, delta kompresia v grafike na HW úrovni, reálne tam lieta minimalne ten "terabajt", dvadsaťnásobok bláznivej PS2 eDRAM/. V správných rukách tá grafická karta v PS5ke bude ako útok berserk Vikingov na materskú školku.

20/12/12

GPU - global processing unit


Update 21.12.12 > Stále iba špekulujeme aké GPU vlastne PS4 použije, presná konfigurácia, ale stále tu ostáva ešte jedna nezodpovedaná otázka, ktorú som načrtol pred pár mesiacmi. A to 2 rôzne GPU v PS4 - jedno ako súčasť AMD APU comba /CPU + low-end integrované GPU/ a druhé veľké high-end GPU. Máme pre vás nové info a to už niečo naznačuje. SONY patent s dátumom /publikovanie/ 20.12.2012 !!

DYNAMIC CONTEXT SWITCHING BETWEEN ARCHITECTURALLY DISTINCT GRAPHICS PROCESSORS: "The apparatus of claim 2 wherein the first GPU is a high power GPU and the second GPU is a low power GPU having lower power consumption than the high power GPU and a maximum processing capacity that is less than a maximum processing capacity of the high power GPU."

Aby to bolo ešte zaujímavejšie, tak tu máme zrušené embargo /z 17.12.12, aká náhoda/ na mobilné AMD 8xxx grafiky, kde sa dočítate aj následovné : "the Radeon HD 8000M is based entirely on the new Graphics CoreNext (GCN) micro-architecture, supports DirectX 11.1, and AMD's equivalent of NVIDIA Optimus, the Enduro Technology, which dynamically switches between discrete and integrated GPUs, which coupled with AMD ZeroCore power technology, completely turn off discrete GPUs at low graphics processing loads."

-------------------------------------------

SONY kládlo pri svojich konzolách vždy väčší dôraz na výkonné a sofistikovanejšie CPU /GTE engine v PSone, Emotion engine v PS2, CELL v PS3ke/ a dostatočne dobré GPU. MS presne naopak - uprednostňovali lepšie GPU /custom NV2a a AMD Xenos/ s priemerným CPU. SONY prístup znamenal obtiažnejšie programovanie ale v rukách výborných progišov lepšie výsledky. Skončila sa však éra, kde sa kladie dôraz na ninja CPU a ťahúňom sa definitívne stáva výkonné GPU triedy GPGPU /univerzálne použitie grafickej karty, nielen na grafiku, ale aj fyziku a dokonca AI/. Obe next gen konzoly dostanú GPU od AMD, ich design je stále utajený, ale niekoľko náznakov veci budúcich su už pár dni v obehu.

S približovaním GPU ku CPU a s reálnou možnosťou zneužitia GPU na CPU operácie začalo AMD so svojou sedmičkovou radou. Teoreticky to umožňuje aj AMD v aktuálnom xcrape alebo vo Wee U, ale výsledky by boli tragicky nefektívne. AMD v novších grafikách zmenilo VLIW architektúru /very long instruction word, v našom prípade aj extrémny multi-inštrukčný-paralelizmus, základy nájdete už v ATi Radeon 9700 !!/  na GCN /graphics core core, extrémny multi-thread-paralelizmus, SIMD jednotky/. GCN grafiky sa veľmi zjednodušene programujú ľahšie a efektívnejšie v režime "CPU", dostupné sú aj programovacie jazyky ako OpenCL alebo programovací model CUDA od Nvidie. Podotýkam, ide o dosť komplikovanú záležitosť a rozhodne táto metodika ešte musí trochu vyzrieť /HSA architektúra v roku 2014+/. Next gen konzoly však najskôr budú používať GCN druhej generácie a najnovšie AMD grafiky osmičkovej rady /s jedným malým háčíkom, ako si ukážeme/.


SuperDae je chlapík s údajným prístupom ku oficiálnym xcrap dev kitom. Ak ste to ešte nevideli, tak navštívte vgleaks. Blahoželá inak billovi ku postúpeniu na fázu dve /beta kit xcrapu 720/. Svoje tweety vzápätí zmazal, nejaký dobrák z neogafu ich však zachránil, vyššie ho máte v celej kráse. Ak si ešte pamätáte na nedávny únik informácii o PS4 /sajta vg247/, tak PS4 beta kity majú byť dostupné o mesiac a finálne v lete 2013. MS okrem datadisku pre Gears of Joke v tom istom roku nemá ani makké f. Xcrap je opustená loď, xcrap 720 určite chystajú na vianoce 2013. PS4 bude údajne meškať aj z toho dôvodu, že AMD kladie vyššiu prioritu na dokončenie GPU pre xcrap 720, než pre PS4.

 “We’ve Never Been First, Never Been Cheapest”- Jack Trenton o PS4ke

A teraz ten malý háčik spomenutý vyššie. Iný chlapík s prístupom ku informáciam o GPU pre xcrap 720 sa
dosť vysmieva /ja robím to isté/ z afektovaných blbečkov na beyonde3d, ktorý rátajú tranzistory a milimetre štvorcové a snažia sa odhadnúť výkon toho aj podľa nich výkonnejšieho GPU /áno, všeobecný konzenzus je, že SONY vyfasuje slabšiu grafiku/. Pre stromy však nevidia medveďa čo serie v lese. Tak ten chlapík  tvrdí, že xcrap 720 dostane unikátny čip nepodobný ničomu čo je/bude dostupné na trhu /samozrejme stále to bude druhogeneračný GCN design/ a že vraj pozdravuje nejakého Seymoura.

Seymour Roger Cray je guru stojaci za hypervýkonnými superpočítačmi triedy CRAY. GPU pre xcrap 720 teda  bude niečo "veľmi zvláštne" a ten istý zdroj hovorí, že mašina dostane aj dokonale vyladený GPGPU jazyk, ako vyššie spomenutý OpenCL a DX API s presahom cez aktuálne možnosti DX11.1. Ostatne si tento štandard vytvára sám microsoft, takže si tam dá neštandardne a rozšírené extenzie podľa vlastne ľubovôle. Ešte väčšia panika panuje okolo výrobného 28 nm procesu a pamäťových subsystémov k tým next gen grafikám pripojených. MS vraj pôjde cestou väčšej eDRAM, SONY zas ultraširokej zbernice prilepenej ku bežnejšej pamäti. Vo finále vraj máme čakať minimálne 25% rozdiel výkonu v prospech xcrap 720. Osobne čakám prvý serioznejší únik informácii do 2 mesiacoch, ešte pred GDC 2013.

18/12/12

AMD GPU a konzoly


ArtX /buďte trpezlivý, pointa príde/ bola jednou z mnohých firiem vznikajúcich /v 1997/ z rozpadu kolosálnej spoločnosti a pioniera počítačovej grafiky Silicon Graphics Inc. Slávna 3Dfx vznikla úplne rovnako. Miniaturizácia posúvala špičkový výkon do stále menších a lacnejších PC krabíc. Dnes môže mať svojho malého "silikóna" doma doslova každý. ArtX sa prvýkrat dotkol videohernej konzoly pri návrhu N64, vtedy ešte ako regulérní zamestanci SGi. Navrhli veľmi dobré GPU, mierne domrvené konzervatívnym postojom nintenda  - dosť obmedzený prístup programátorov ku skutočnému potenciálu konzoly.

ArtX-ATI-AMD

Nintendo však bolo zjavne spokojné a nakontraktovali ich na prácu na novej konzole s kódovým označením Dolphin /Gamecube/ a GPU sa teda nemohlo volať inak ako Flipper. V tejto chvíli po nich skočilo ATI Technologies a v roku 2000 ich kúpilo za cca 400M USD vo vlastných  akciách /v roku 2006 zas AMD pohltilo ATI za 5.4 miliardy USD/. Viedli ich k tomu tri dôvody. Dostali sa ku portfóliu firmy ArtX /integrované grafické PC riešenie, kde sa ATi chcelo dostať/, zbratali sa s nintendom, čo sa neskôr ukáže ako dobrý krok a inžinieri z ArtX im postavili R300 radu desktopových GPU, ktorých koncový výrobok ATi Radeon 9700 /rok 2002/ dodnes ohuruje svojím revolučným designom a výkonom. 

GPU Flipper však tiež nebolo žiadne chudorľavé orezávatko a v spolupráci s programátorskými čarodejníkmi z Factor 5 uvarili na svoju dobu bezchybný grafický čipset. Stál presne v strede možnosti medzi staršou PS2 /GPU GS/ a Xcrap 1 /konkurenčená Nvidia Nv2A, značne upravená Gefirce 3/. PS2 sa spoliehala na extrémne výkonný aj keď úplne blbý rasterizér - neuveriteľných 16 paralelných pixel jednotiek na takte 150Mhz, žiadne programovateľné shaders, plne programovateľné VU jednotky /zvládli vertex aj pixel operácie, avšak boli príliš náročné na programovanie/. Gamecube - 4 pixel jednotky na 162Mhz a teda výrazne nižší fillrate, veľmi dobre programovateľný a výkonný TEV pixel engine /predchodca pixel shaders/ a statický, neprogramovateľný T@L pre vertex operácie. Najnovší Xcrap 1 - mal 4 pixel jednotky s multitexturingom a 2 vertex jednotky obe na 233 MHz. Prvá konzola s klasickými programovateľnými pixel/vertex shaders s custom vyladeným DX API.

Vo finále teda PS2 vyžadovala maximálne nasadenie programátora - všetko ste si museli naprogramovať sami /pixel aj vertex operácie/, pomáhal vám ohromný fillrate a hyperrýchla eDRAM /menšiu a trochu pomalšiu používa aj Flipper/. Ak ste boli naozaj dobrý, tak svet žasol nad hrami ako Black, Burnout, MGS 2-3, Shadow of Colossus. Gamecube - vlajkové lode ako Resident Evil 4 a Rogue 2 ukazovali náznak budúcnosti - komplexné scény, pekné povrchy a nielen iba početné hnusné polygóny. Ešte novšia architektúra /filozofia tvorby grafiky/ xcrap 1 sa vlastne používa dodnes, vtedy to bol proste nový štandard.

Čím menej sa darí ATi na trhu desktop GPU, tým viac preniká do segmentu konzol. V ďalšej generácii okrem obligátneho nintenda /Wee/ uchmatli aj xcrap 360 /ich debut na tejto platforme/. Wee už tentoraz nedostalo žiadnu revulúciu, iba evolučne vylepšeného Flippera z Gamecube. Dvihla sa frekvencia zo 162 na 243 Mhz, poladila sa TEV jednotka a tento čip sa nazval Hollywood. Stále obsahuje eDRAM, je spätne kompatibilný s Gamecube /neprekvapujúce/ a podľa vývojárov je asi o 50% výkonnejší.  Určený pre SD 480p rozlíšenie a pre nintendo hry, takže to bohato stačí. Xcrap 360 vyfasoval to, čo by inak dostala ninja nintendo konzola. Custom GPU, hybrid AMD R500-600, po prvý krát na konzole aj unifikované shaders, pochopiteľne eDRAM. V skratke - PS3 s týmto GPU by bola úplné monštrum. Xcrap so CELL CPU by bol úplne monštrum. SONY má teda skvelé CPU /GPU od Nvidie ako xcrap 1/ a MS zas GPU /AMD/.

A máme to finále. Wee Uu, PS4 a xcrap 720. Všetky dostanú GPU a vysoko pravdepodobne aj dve z  nich CPU od AMD. Pozoruhodny jav, takmer dokonalý monol /Intel a Nvidia sú priliš drahé, aj keď výkonovo lepšie/. Pri Wee Uu pokračuje nintendo s taktikou malého pokroku v medziach zákon. AMD im teda pripravilo vyslovene sociálny čip s nízkou spotrebou do 25w plus eDRAM /pravdepodobne o veľkosti 32 mega/. Celé toto kombo je stále minimálne o 50% výkonnejšie ako dosluhujúce GPU v PS3ke a xcrap 360.

Otázka stojí tak, čo si vlastne AMD pripravilo pre pravý next gen. Nevieme nič. Môj nos mi hovorí, že pôjde o najnovšiu osmičkovú generáciu chystanú na rok 2013, s druhogeneračným GCN jadrom. Hybrid s HSA možnosťami a výkonom do 2 TFLOPs /24GFlops na watt a rátajme s GPU do 80 watt pre konzoly/. V preklade - dosť na skvelú grafiku a trochu "GPU" fyziky. SONY a MS sa budú snažiť o maximálne efektívne riešenie a výkonné GPU /GPGPU/ im umožní tam podsunúť slabšie CPU. Optimálne to budú chcieť mať v SOC alebo MCM podobe, teda čo najmenší počet čipov, klasických zberníc, ktoré sa ťahajú cez pol dosky a drahých mem radičov. Veľa sa špekuluje o použití eDRAM.

3D stack + TSV = sendvič GPU + mem a stovky vertikálnych spojok /TSV, mikrozbernice/

Ak /skutočne AK/ tam stihne AMD nejako našiť  pravú 3D stack technológiu s TSV - tak dostaneme ultra rýchle a široké zbernice doslova prevrtávajúce GPU a na ňom položenú RAM /sendvič/. Inak to vidím na klasiku - RAM a eDRAM. A to je všetko. Ešte jedna vec. HSA je novodobá revolúcia, AMD by si pomohlo, ak by to sithla napasovať do PS4 a xcrapu /trójske kone a prinúti to progišov optimalizovať kód na tento nový programátrsky model/, ale neuveríte, proste nám k tomu bude asi chýbať takých 6-8 mesiacov, aby to celé ešte trochu vyzrelo. Ako vždy.

11/04/12

Playstation 4 alias AMD noťas

AMD : neprekonáte bariéru exasféry bez našej heterogénnej architektúry - HSA /Heterogeneous System Architecture/, čítam teraz ich PR pamflet. Nás to však ako hráčov bude zaujímať ešte viac, pretože HSA to odpáli v budúcom roku /Kaberi a Kavini/ a v podstatne nejde o nič iné ako naše AMD APU, ktoré bolo avizované pre PS4. HSA je vlastne CPU, GP-GPU a unifikovaná pamäť /adresovateľnú oboma výpočetnými jednotkami/pekne pokope na jednom mieste, optimálne na jednom SoC čipe, super optimálne ako 3D stack čip, teda všetky tri nalepené na sebe a komunikujúce ultrarýchlými TSV /"žily" prechádzajúci tým bazmekom ako červík cez jablko /. Navyše pôjde o otvorenú platformu a pravdepodobnú cestu ako môže AMD inovátorsky konkurovať Intelu, ktorý sa zdá dnes rovnako neprekonateľný ako berlínsky múr pre malú čivavu.


AMD sa neskôr bude snažiť okolo HSA vybudovať masívny softvérový ekosystém a podobný hárdver bude vedieť napríklad dynamicky žonglovať kódom podľa toho na čom pobeží efektívnejšie - CPU alebo GPU. Pod tým kódom sa rozumie samozrejme aj OpenCL, čo je vlastne univerzálny jazyk pre premostenie CPU a GPU priestoru. Uvedomte si, že ide o diametrálne odlišné programovanie, než na aké je klasický PC sektor zvyknutý dnes. Naopak programátory na PS3ke to takto robia už roky a došlo teda na slávne slová tlustého blbečka z Valve - "veľkého" Gejba a sociopata Carmacka z ID softu, ktori súhrne povedali asi toto : "PS3 ako celok je pohroma, spáľte ju a začnite odznova, a čokoľvek sa na CELLe programátorksy naučíte vám všade inde bude nanič." AMD sa iba smeje, joe sa smeje, pes Bill Clintona sa rehotá.

Propagačné materiály. Zhruba od strany 18 sa črtá niečo zaujimavého, napríklad: "Display port 1.2 - Can direct drive head mounted display or glasses, inexpensive DP to HDMI adaptors available." Alebo - "BlueStacks runs all your favorite Android apps on your Windows PC and syncs apps from your Android phone to your PC." A dokonca - "DISCRETE DIGITAL MULTI-POINT AUDIO Audio The first GPUs that can simultaneously output multiple, independent audio streams." Druhá časť. La bomba - "ISA agnostic for both CPU and GPU." Samozrejme - "Allows software devs to write software once, runs cross-platform."
V skratke - zahŕňa to vlastne celé spektrum toho čo SONY plánuje s PSV, SONY mobilom a tabletom v harmonickom súžití s vašou PS4. Počnúc kvalitným streamingom obrazu do PSV /PS4+PSV ako Wee Urinal + Tablet/, cez beh android/OpenCL aplikácii na všetkom čo SONY vyrobí, po pripojenie VR prilby, ktorú už SONY intenzívne testovalo aj na PS3ke. Chce to video /noťas kŕmi tri monitory/. PS4 teda s AMD HSA Trinity mk 2013 čipsetom zvládne prehrávanie hry na veľkej telke, zároveň aj súkanie streamingu do vášho PSV /nemusí to byť iba hra, ktorú hrajete, ale aj TV kanál nejakej kraviny pre vašu ségru/ a plnenie SONY mobilu mkv pornom. Teraz sa spoločne pomodlime aby v tom Trinity pre PS4 skončil čo najlepší hárdvér.

01/04/12

Ati versus Nvidia - kolo druhé

Minule som tejto témy iba jemne dotkol, dnes si to podložím aj nejakým tým dôkazom. Nepochybujem, že medzi ATi a NVidiu sú obrovské rozdiely /efektivita/ v tom ako rôznymi spôsobmi dosiahnú tú istú vec. Nie som tak naivný, aby som nevedel, že multiplat progiši v drvivej väčšine na tieto výkonnostné nuansy kašlú. Aj z toho dôvodu bol zručný amatérsky móder schopný zrychliť beh PC hry Skyrim niekoľkými banálny zásahmi o 25%. A ak sa naplní to, že všetky tri budúce konzoly dostanú AMD GPU, potom absolútne verím tomu, že sa to odrazí aj na oveľa lepšom behu PC hier na zostavách s AMD grafikami. Dnes sa totiž v PC sektore preferuje viac Nvidia - napríklad aj s jej PhysX API.

Niekoľko krát som tu spomínal AMD tech demo Leo pre jej najnovšiu 7xxx generáciu. Pre laika je to iba zopár pekne vyfarbených polygónov ale nič extra tam oproti hrám, ktoré pozná proste nevidí. V skutočnosti to demo použivá veľmi sofistikovaný renderovací postup - Light Indexed Deferred Rendering /LIDR/. Tento proces sa dá prirovnať k tomu, ako keby ste chceli ľubovoľnú, modernú hru renderovať iba pomocou 2D sprajtov tak, aby si nikto nič nevšimol. A to je presne aj náš prípad.

Klasický forward rendering /FR - výborná podpora pre MSAA, transparencie, a materiálovú variabilitu/ dnes de fakto nikto v špičkových hrách nepoužíva ako hlavný renderer, lebo táto technológia je nepoužiteľná pri rastúcom počte svetiel na scéne. Napríklad v Killzone 3 ich máte bežne aj 200-300 na frame a pri použití FR by sa hra plazila na 0-5fps. "Vynašiel" sa teda spôsob - deferred rendering /DR/ ako oddeliť nasvietenie od geometrie /FR pri každom ďalšom svetle spracováva scénu "od znova"/. DR má teda na háku či použijete 100 alebo 1000 svetiel, ste viacmenej limitovaný iba veľkosťou ram a priepustnosťou. Nutnosťou je vytvorenie veľkého G-buffera, ktorého veľkosť môže byť aj niekoľko desiatok megabajtov /stovky v katastrofickom prípade/. DR má navyše slabinu práve tam kde FR vyniká /teda - výborná podpora pre MSAA, transparencie, a materiálovú variabilitu/. Rieši sa to použitím sekundárných a terciarných FR rendererov pre transparencie a podobne /opäť KZ3/. Aby sme získali to najlepšie z oboch svetov, vytiahol sa zo zásuvky dobre známy forward+ /indexovaný/ rendering a spojil sa s DR. Komplikovanou teóriou vás nebudem zaťažovať. Každopádne aj tento spôsob renderovania scény si musel počkať na adekvátne výkonný hárdvér /ALU, priepustnosť/.

Našiel som tento praktický test uverejnený iba pred pár dňami. Použitý HW je presne v intenciách toho, čo by sa mohlo dostať do next gen konzol a to sa nám perfektne hodí. NV570 a Ati 6970. V hre bude veľa svetiel a dve algoritmy. Už spomínaný Light Indexed Deferred Rendering /LIDR/ a úplna špička použitá aj v Frostbite 2 engine /Battlefield 3/ - Tile Based Deferred Rendering /TBDR/. Popisy v tabuľke nižšie sú dúfam dostatočne zrozumiteľne /čím menej milisekúnd tým lepší výsledok/. Použil som kalkulácie iba pre 4xMSAA, ktoré by mali byť na next gene úplným štandardom.

Nvidia GTX 570
/4xMSAA/

128 Lights ---------- LIDR 8.47ms ------ TBDR 9.17ms
256 Lights ---------- LIDR 13.88ms ----- TBDR 12.34ms
512 Lights ---------- LIDR 21.27ms ----- TBDR 17.24ms
1024 Lights ------- LIDR 36.48ms ---- TBDR 31.25ms


AMD 6970 /4xMSAA/

128 Lights ---------- LIDR 6.49ms ------ TBDR 10.75ms
256 Lights ---------- LIDR 9.43ms ------ TBDR 13.15ms
512 Lights ---------- LIDR 13.89ms ----- TBDR 16.94ms
1024 Lights ------- LIDR 25.64ms ---- TBDR 33.33ms

Výsledky prekvapili nielen mňa. Na Nvidii si TBDR počína úplne suverénne a LDIR sa drží akceptovateľne pozadu. Nezabúdajte, že ide o syntetický test. V skutočnej hre ak zoberieme do úvahy aj nutnosť riešenia transparencií, časticových efektov a podobne sa môže ukázať LDIR výhodnejší aj pre Nvidia grafické karty. ATi na strane druhej skutočne boduje a potvrdzuje výsledky z Leo dema na výkonnejšej 7xxx triede. LDIR je výrazne výkonnejší - spracovanie 256/512 svetiel zvládne tak rýchlo ako Nvidia 128/256 pri použití TBDR !!! To je impozantný rozdiel. Nemusím vás teraz presviedčať o tom, že super optimalizovaný ATi engine pre PS4 a xcrap 720 môže mať na PC Nvidia grafikách isté malé problémy, však. Ak sa dostanem ku výsledkom porovnávajúcich špičkové Ati 7970 a GTX 680 hneď ich tu prilepím. Jeden majiteľ 680ky sa už ozval.

Update: Nové grafické karty sú pekelne rýchle, ale Nvidia stále na ATi nestačí /navyše bola 680ka porazená pri oboch render algoritmoch/, čim sa opäť potvrdzuje čo som povedal vyššie. Rozdiely pri 128 svetlách sú malé, pri 1024ke by to bolo v neprospech Nvidie určite o dosť horšie /stará verzia testu mala iba toto jedno nastavenie, už sa na úprave pracuje/.

Nvidia GTX 680 ---- 128 Lights ---- 2.85ms ----- 4.95ms
AMD 7970 ----------- 128 Lights ---- 2.30ms ----- 3.60ms

29/03/12

CELL versus AMD

Povinný úvod, aby posledné dva odseky získali hlbší duchovný zmysel. IBM Dual Blade 2xCELL s 8 jadrami alebo Sun Fire x4600 s 8 krát dvojjadrovými AMD Opterom. Obludne výkonné stroje. Herný CELL však úplne hladko profi PC AMD prekonal, preskočil, nechal v prachu v za sebou. Článok je to obšírný /kopa názorných grafov/, vyčerpávajuco tam porovnávajú obe zostavy, ich výhody, slabé miesta. Použitý algoritmus /spracovanie grafických dát - berme to ako "hernú" aplikáciu/ beží na jednom SPE - 5 krát rýchlejšie ako na na jednom jadra Opteronu. Pri použití maximálneho počtu jadier a pri veľkej komplexnosti dátového súboru - je stále rozdiel na úrovni 270%. Pri väčšom objeme dát a pri použití väčšieho počtu SPE jednotiek sa na rozdiel oproti Opteru výkonu CELLu znižuju z dôvodu mierneho zahltenie "DMA radiča". Napriek tomu je náskok stále pohodlný na tak staré CPU. Čisto herne sa za sweet spot /maximálna výkonnosť ring EIB zbernice a DMA/ považuje konfigurácia 5xSPE. PS3 CELL ich má šesť pre hry, jednu pre OS, a jedná je "vypnutá" pre zníženie ceny čipu pre lepšiu vyťažiteľnosť z wafru. Proste sa použijú aj CELL procesory iba so 7 funkčnými SPE. Na začiatku výroby boli dosť veľké problémy so stabilitou výrobnej linky.

Konkurenčná a novšia technológia AMD HyperTransport si s týmto problémom /prenos veľkého množstvá dát, obsluha početných jadier/ poradila lepšie, na CELL to však stále nestačilo. A ide o oblasť, ktorá sa pri CELL 2 mala perspektívne úplne prepracovať. CELL to mal v čase svojho vzniku vyslovene na úrovni doby, vrátane veľkosti lokálnej pamäte LS pri SPE /256 KB - bola zlatá stredna cesta medzi vysokým výkonom a už neakceptovateľne veľkou latenciou/. Výhodou CELL riešenie je nezávislý beh SIMD inštrukcii na SPE, bez ohľadu na prebiehajúci DMA transfer dát z hlavnej XDR do LS /SPE/. Išlo im o prekonanie "múra" problémov rýchlosti/latencie pri použití štandardného postupu L1-L2-L3 cache pamätí. Pripájam starší článok, kde CELL rozdrvil intel I7 /4 jadrá, 8 HW threads/ a presúvame sa na báječnú fámu /?/ posúďte sami.

----------------------------

Extrémne dôležitá informácia na začiatok. Následujúce riadky boli na zverejnené na sajte pastebin.com a nesú dátum 15.12.2011 !!! Začíname - štart oboch konzol XB3 /kódové označenie Durango/ a PS4 /Orbis, pozn.: toto označenie sme sa my ostatní smrteľníci dozvedeli ešte len včera, on to vedel ďaleko pred vianocami/ je plánovaný počas vianoc roku 2013. Obidva konzoly skončia so zabudovanou BD mechanikou /dual layer klasika/ a vylepšenou verziou svojich motion ovládačov. XB3 bude mať 8 jadrový 64 bitový procesor s designom podobným intel i7ke o výkonne cca 1.2 TFLOPs /dnešný CELL cca 0.256 TFLOPs/. PS4 dostane 4 jadrové 32 bitové CPU /pozn.: nešpecifikovaný výrobca alebo typ/. XB3 bude používať DX11 GPU. PS3 - OpenGL 4 GPU /pozn.: nešpecifikovaný výrobca alebo typ/. XB3 dostane 4 giga ram. PS4 iba 2 giga. PS4 nebude mať defaultne zabudovaný HDD. XB3 na strané druhej áno - konfigurácia : 500 giga HDD a 8 gigová flashka. XB3 bude tiež disponovať novou a robustnou 24/7 online konektivitou plus masívna cloud-based integrácia počnúc rokmi 2015/2016.

EA games je veľmi nasratá na SONY /ktorá nijako neraguje na ich prosby o zlepšenie parametrov PS4/, pretože PS4 je oproti XB3 podvýživený bastard a značne to limituje ich možnosti pri zachovaní parity multiplatformových hier. Technickú úroveň hier to podľa nich poškodí rovako ako neprítomnosť vysoko kapacitnej optickej mechaniky a hardisku v dnešnom bill šmejde. Údajne sa EA progiši na XB3 a PS4 pozerajú ako na high-end PC a piece of shit bazmek z Walmartu za 200 dolárov /aj s monitorom/. Moja osobná poznámka - celé mi to vyzerá ako spravodajská hra SONY s cieľom pomýliť nepriateľa /ani to nebudem dávať šialené info o vývoji CELL 2.0 v Barcelone, v stredisku pre vývoj a výskum hyper výkonných CPU-GPU architektúr/. Koniec prenosu.