Showing posts with label PS5 power. Show all posts
Showing posts with label PS5 power. Show all posts

22/06/22

Housemarque: from Zero to Hero

Už ste určite videli nejaké grafické demo /demoscéna , 64KB kultovka/ pre 8 bity, PC alebo dokonca pre konzolu. Fínska herná firma Housemarque, ktorú SONY nedávno kúpilo - má tiež takú demo-kóderskú minulosť. Títo progiši vo všeobecnosti dokázali v demách na danom HW veci často proste nemožné a jeden sa mohol iba opýtať, čo z toho by vedeli dostať aj do hry. Viď fínsku, voxeloidnú hru Resogun, primárne pre PS3. Inak sa tu už motkajú pomaly 30 rokov /Stardust, 1993, Amiga/ a vždy s takými malými AA srandami. Pod SONY sa však vytiahli so svojou prvou AAA /dva a pol podľa mňa/ hrou Returnal pre PS5. Digitálny download si pre seba na SSD zoberie minimálne 56 GB /celkom dôležité čislo, o chvíľku uvidíte/. Hra beží interne v 1080p rozlíšení na 60 fps /podozrivo nízke rozlíšenie pri ich expertíznej zručnosti/ s temporálnym upscale na 1440p a nakoniec je to "checkerboardované" na 4K frame. Komplikované.

V hre nevidím nič, čo by drancovalo 8 jadrové Ryzen CPU, takže grafický engine robi na GPU zjavne niečo výpočetne náročné pod priemerne výkonným Unreal Engine 4.x. Na ten vlastný engine Housemarque nemalo dosť času ani peňazí a sami sa posťažovali, že nemali ani presné informácie o PS5 /RT - aké vlastne bude ?/, keď sa Returnal nachádzal vo fáze úvodných strategických rozhodnutí v kapitole grafické technológie. Hodili to teda na istotu a skončili na UE4 s jedným vtedy super čerstvým GI konceptom iných high-end fínov z Nvidia a Remedy. Nižšie si už aktuálne slajdy Housemarque, ktoré o úpravách toho kódu rozprávajú.

 

   celá prednáška /pozor je veľmi suchá a technická/

Takmer 25% bajtového objemu  hry tvoria nejaké "GI dáta". Príšerne veľke číslo. Vlastnú globálnu ilumináciu totiž vyriešili cez použitie iradiačných sond. Engine to teda neráta na pixel presne a z nuly v reálnom čase, ale pomáha si predpočítanými hodnotami uložených v sondách, ktorých sú v každej cimre na tisíce. Ako teda váš avatar plave prostredím, tak sa engine opiera práve o najbližšie sondy, požičiava si ich hotové kalkulácie, aproximuje a nasvetľuje. V slajdoch vidíte aj to, že tie prvotné výpočty môžu trvať aj hodiny na HW o výkone veľkých profi grafických staníc. Výhoda je, že to funguje a dáte to aj na 60 fps. Nevýhoda je, že sa základná geometria prostredia nesmie zmeniť, lebo dáta sú rátané napevno na to, čo tam stálo v momente výpočtov na tom Xeon servere a dynamický prepočet na PS5ke reagujúci na novú neplánovanú situáciu /"nejaká" stena preč, celý les preč, nová diera do zeme/ sa teda nekoná. Tie GI gigabajty si ináč na PS5ke tvrdo odmakalo PS5 SSD ! Pri PC verzii, ak by ste sa tomu chceli vyhnúť,  by ste ich teoreticky mohli uložiť do VRAM, ale nič tak veľké ešte na trhu roky nebude. A keď to hodíte do systémovej pamäte, potom sa pripravte na 32 GB ako odporúčané množstvo. Takže rýchle SSD potrebujete aj na PC.

Aj preto som tu minule písal o inom postupe, o práci jedného kódera z Embark Studios /exDICE utečenci/, ktorý sa vrhol v čase osobného voľna na oveľa novší GI algoritmus fy Nvidia - ReSTIR a ktorého bombastické videá, ukazujú ako tá GI funguje zhruba na GPU triedy PS5 v 1080p/60+ režime, ale v oveľa dynamickejšom, interaktívnejšom režime. Teoreticky vám teda nič nebráni zhodiť tu stenu preč a svetlo si s tým poradí. Housemarque už povedalo, že chce ostať v AAA priestore a ich ďalšia hra by mala byť ešte ambicióznejšia. Mám však taký pocit, že veľké softvérové domy dnes predvádzajú grafické kúzla, ktoré sme niekedy nemali ani v tých grafických demách, samozrejme proporčne k svojej dobe. Zjavne si môžu zaplatiť najlepšie mozgy na svete a naopak bývalí demokodéri ako fínski chlapci s tým už technicky nestíhajú držať krok. Každopádne veľmi rýchlo postupujeme k úplne dynamickej GI /s RT/ už na tejto generácií konzol. Hlavne pre malé firmy je to veľké plus. Extrémne to zrýchľuje a teda zlacňuje grafické odladenie hry. Takže nás čaká veľa priemerných, ale prenádherne nasvietených gamesiek !

06/08/21

PS5 SSD >> PC SSD

Úložisko v podobe SSD v nových konzolách beriem ako najväčší vklad do herného HW za posledných 20 rokov. Celkom zásadný. Ako veľký pracovný stôl namiesto pokusu krasopisne písať na papieri položenom na kolene. Každý hrač na amige vie, aká je to úľava prejsť od floppy diskotéky /Monkey Island 2 a 11 diskiet/ ku nainštalovanej hre na HDD. Alebo ako strašne limituje pomalý 5400 rpm HDD v PS4 množstvo dodaných dát na frame. Nie je to viac ako mizerných 20 až 100 megabajtov za sekundu. Pri akejkoľvek doterajšej PS konzole, ak dvojnásobne zväčšíte RAM, tak sa 100% dostanete na to správne množstvo. Nebolo to však ekonomicky možné a k tomu ešte navyše konzola vždy používala veľmi pomalé mechaniky /CD, DVD, HDD/. Staré ZX Spectrum nahrávalo program, ktorý zaplní jej 48KB celých 5 minút a hra R-Type mala tušim ďalších sedem dodatočne dohrávaných levelov. Veľkosť RAM a rýchlosť úložiska je mimoriadne dôležitá pre technickú stránku hier a obzvlášť komfort hráča /skrátenie čakanie pri úvodnom nahrávaní alebo ubijajúco dlhý, opakovaný re-load po zabití v hre, či nahrávanie pri prechode medzi "zónami"/.

Beneath a Steel Sky, Amiga, 15 diskiet

Cena dnes za jeden kvalitný terabajt SDD je stále priliš vysoká a za slušnú kapacitu dáte toľko čo za celú konzolu /na bežný 20 megový HDD sa pri amige tiež vošli "až" dve väčšie hry/. Bohužiaľ tento stav takto ešte chvíľu potrvá. MS ponúka rozširujúce proprietné riešenie cez jednoducho do slotu strčené SDD "kartičky" za 250 euro za 1TB kapacitu. Drahé. SONY používa úplne bežné "PC" SSD disky, ale k zabudovaniu SSD do konzoly potrebujete šrubovák. Hráči však už začali špekulovať a hľadať čo najlacnejšie riešenie. SONY v špecifikáciach uvádza mnoho parametrov, vrátane rozmerov, ktoré by SSD kandidát mal spĺňať a jedným z hlavných je aj obligátna rýchlosť čítania dát na úrovni aspoň 5500 MB/s - teda zhodne z interným úložiskom.

Našli sa však borci, sledujte toto neogaf auditko, ktorý tam vopchali PCIe 4.0 SSD s rýchlosťou iba 3900 MB/s aj za menej ako 130 euro /teda polovica MS kartičky !!/ a prvé testy ukázali, že to nahráva Ratcheta PS5 rovnako dobre ako rýchlejší interný disk. Zdanlivo jasná výhra. Teliatka sa teda vytešujú a už plánujú, čo lacné a veľké /aj keď pomalšie/ tam strčia. Ide však o jeden veľký sebaklam a nie nadarmo Insomniac Games pri vlastných testoch uvádza, že aj doporučené 5500 MB/s SSD nie sú úplne rovnako rýchle ako ten interný /je to o chlp/ a dokonca v niektorých prípadoch doporučujú až rýchlosť 7000MB/s. Dôvody budú postupne následovať.

Existujúce natívne PS5 hry ani zďaleka nebežia na plnej kapacite jeho SSD IOPs, ako si ukážeme nižšie a preto je možné zdanlivo použiť aj pomalšie SDD. SONY v kontrolovanom prostredi hernej konzoly a hier ten teoretický potenciál SSD aj skutočne prakticky chytilo do ruky. Urobili niekoľko zásadných zmien na úrovni HW a SW. PC ekvivalent ich ešte mnoho rokov, ak vôbec, mať nebude a pôjde sa tam oveľa viac "brute force" cestou. Zaplatí to teda hráč.

Laik sa pozrie na na maximálnu, sekvenčnú rýchlosť čítania dát daného SSD a berie to ako hotovú vec, že to aj v hre reálne dostane. Na to rýchlo zabudnite. Nedôjde k tomu. Tento samsung vie načítať dáta sekvenčne až rýchlosťou 6.2GB/sec pri 128KB veľkých dátových paketoch, čo pekne splňa SONY kritéria pre PS5 SSD úložisko. Problémom je, že keď pracujete na úrovni QD1 /queue depth alias počet paralelizovaných input-output operácií naraz/ tak je rýchlosť čítania iba na úrovni asi 680 MB/sec !! Potrebujete aspoň QD16 na 5GB/s a QD32 na 6 GB/s rýchlosť. Na strane ďalšieho HW a aj vášho programu a API to chce mať v hlave dobre zrovnané, aby ste tu maximálku dosiahli a udržali. PC však takto túto hru nikdy nehralo a more výkonu vyletí vždy hore komínom.

Ak teda musíte extremne paralelizovať cucanie dát z SSD, aby ste dosiahli jeho teoretické maximá, tak to zároveň znamená, že niečo bude enormným spôsobom zahltené manažmentom spracovávania tak gigantického množstva požiadaviek. A to bude vaša CPU, ktorému logika hry /AI, fyzika, modely, textúry, audio, scripty/ neustále hovorí čo z toho SSD akurát potrebuje dostať. Prúd obrovského množstva IO požiadaviek. PS5 to rieši použitím asynchrónneho IOP API a na zakázku vyladeného SSD radiča. Pre hry a vývojarov, to zas znamená používať dátové pakety v ideálnej veľkosti - nie o veľkosti 4KB /používané v syntetických PC testoch, pri konzolách sú bezpredmetné/, lebo 5.5 GB/s pri 4KB pakete znamená bezprecedentných 1.4 mega IOs každú sekundu !!

Ak si pod tými čislami neviete nič predstaviť, tak profesionálne PC datacentrum s 36 jadrovým serverom pod Linuxom zvládne 600K IOPs pri použití bežného synchrónneho API a 400K na jednom jadre /!!/ pri asynchrónnom API. Microsoft so svojim DirectStorage API tvrdí - citujem: "DS zníži zaťaženie CPU pri maximalnom využití SSD z nutnosti použitia viacerých CPU jadier iba na malý zlomok jedného jadra". Je známe iba málo o kompletnom riešení PS5. Mark Cerny napríklad v intervijú povedal, že sa pri PS5 SSD rozlúčili s klasickým viackrokovým FAT/NTFS systémom hľadania dát na disku a nahradili ho vlastným jednokrokovým rýchlejším ID systémom /lokalizácia, dealokácia dát, dekompresia je precizne optimalizovaná/, ktorý PC samozrejme nepozná.

Oproti štandardným PC NVMe SSD diskom s dvoma použiteľnými prioritami /striktne priamy prístup/ práce s dátami ich má PS5 SSD až šesť, čo umožňuje vysokú granularitu pri voľbe priority pre dáta typu geometrie /vysoká priorita/, textúr /nižšia/ alebo audio /nízka priorita/, tak aby si medzi sebou nezavadzali. SONY tvrdí, že absencia šiestich úrovní priority ala ich upravené SDD na bežných "PC" NVMe diskoch ich výkon ľahko znižuje a emulácia tohto stavu na strane PS5 API znamená, že ani tých 5500 MB/sec niekedy stačiť nemusí. Tie PC SSD pre potreby PS5 teda musia byť postavené rýchlo aj "dobre".

Xbox má zdanlivo "pomalšie" SSD, ktoré aj tak dáva v maxime /hrubá sila + kompresia/ do 6GB/sec. Zaroveň však má vlastnú verziu DirectStorage, takže na beh jeho hier na PC, ak poriadne pritlačia na SSD, budete tak či tak potrebovať najrýchlejšie možné PCIe 4.0 disky aké trh ponúka a zároveň celkom iste a skoro aj Win 11 kvôli DirectStorage API. Porty budúcich špičkových PS5 hier si 100% nevystačia s tým lacným 3900 MB/s SSD spomenutým v úvode. Opäť budete potrebovať Win 11, DirectStorage, ninja rýchle PCIe 4.0 SSD, pod 6.0GB/sec by som nešiel, minimálne 32 GB systémovej RAM a aspoň 10-12 GB VRAM.

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

Zhrnutie pre tých, čo neradi čítajú dlhé texty. PS5 SSD má hrubú "polovodičovú" rýchlosť čítania dát 5500 MB/s. Na to nasadá precízne ladený SSD radič, nové adresovanie dát, špeciálne API a neustále prítomná HW dekompresia, ktorú SONY uvádza na priemernej pakovacej hodnote okolo 3.2:1 a viac čo dáva takmer 18 GB/sec z SSD - až do 22 GB/sec, čo je maximálny výkon HW dekompresora Kraken a Oodle. PC na tejto úrovni nebude ešte mnoho rokov. DirectStorage nebude dostupný pre Win 10 a veľké rozšírenie Win 11 tu nebude ešte mnoho rokov. Priamy vstup dát z SSD do grafickej RAM ala PS5 tu nebude pri PC ešte mnoho rokov /je v pláne ale nie tu a teraz/. Na PC nemáte HW dekompresiu dát a nebude tu ešte mnoho rokov. Ak to urobíte CPU cestou, tak budete potrebovať viac ako 8 jadro. Ak to urobíte cez GPU /DirectStorage, RTX IO/, tak potrebujete silnejšie GPU s rezervou. Všetko si to však zaplatí hráč nutnosťou prechodu na Win 11 a potrebou nadupanej zostavy.
 
GTA SA na PS2 s DVD - pri PS5 vďaka SSD dosiahnete v sandboxe grandióznu detailnosť 
na rovnakej úrovni ako pri akejkoľvek vyleštenej "tunelovke"
 
Pre úplných laikov. Ak mám PC s 128 GB RAM a PCI4 SSD s 4-6GB/sec, tak budem čakať večnosť za úvodným nahravaním. Bude to skôr 45 sekúnd, možno minúta a rozhodne sa nedá hovoriť o okamžitej rýchlosti kártridžu, ako by sme ideálne chceli. Ak už však tie dáta konečne nahrajem /doslova celú hru naraz !!/, tak nie som až tak odkázaný na rýchlosť priebežného streamingu. Next gen konzoly majú iba 16GB pre všetko a rýchlosť SDD /tiež latencia, schopnosť kontinuálne maximálneho výkonu/ je kriticky dôležítá a PS5 riešenie je toho času herne to najlepšie na trhu. Nepýtajte sa ma, kedy to uvidíme aj v praxi. V temnote cross-gen PS4-PS5 hier, teda ultra pomalého HDD a ultra rýchleho SSD to jasne zatiaľ nevidím. Ideálne je však PS5 SSD "presne" tak rýchle ako systémová RAM pri PS3. Len jej nemáme iba 256 megabajtov ako PS3 ale celé terabajty lokálnej kapacity SSD. Potenciál je bežnému hráčovi zatiaľ ešte asi len ťažko predstaviteľný, preto pozerajte pre ilustráciu smerom planetárne nekonečného MS Flight Simulatora a streamovania dát z petabajtových Azure serverov.

21/04/21

Dodavateľsko-spracovateľský reťazec

ZX Spectrum, keď nahráva do celej svojej 48 kilovej pamäte hru z magneťáku o rýchlosti 1500 baudov, tak mu to trvá tesne nad 5 minút. Známe turbo-loadery pre Atari si pomohli vyššou rýchlosťou. Najčastejšie to bola 2000ka. S zvyšujúcou sa mierou nestability až na 9600 baudov. Amiga 500 má desať krát toľko pamäte v základe, takže sa bežná MG páska použiť nedá. Chválabohu tam máme floppy mechaniku s typickou rýchlosťou čítania okolo 30 KB/sec. Pri amige s rozšírenou RAM na 1 megabajt sa však už načakáte. Záchrana prišla s oveľa rýchlejším a drahším HDD. Ten s nami /konzoly/ vydržal až dodnes. A dohnali sme jeho možnosti až do krajnosti, lebo ládovať 8000 mega RAM z HDD o rýchlosti 20-100 mega/sec nie je o nič lepšie ako tá jedno megová amiga s floppy diskom. A potom prišlo SSD, teda polovodičové úložisko, bez pohyblivých mechanických častí. Pri konzolách  poslednej generácie sme konečne "rýchlejší" než veľkosť RAM a sme schopný dosiahnúť "okamžité" nahrávanie ako na starých konzolách s kartridžom /vtedy veľmi rýchle a veľmi drahé riešenie so silne obmedzenou kapacitou/.

SSD máme, ale týmto sa to ešte len začína. Mohli by ste povedať, že na PC, kde sa SSD už roky používa ide o rutinérsku nudu a iba sa čakalo až sa do moderných čias dotiahnú aj konzoly. Opak je však pravdou. PC vošlo s SSD iba do fázy jedna a samo stojí a prešlapuje na mieste. Konzoly v skutočnosti musia presadiť tento štandard s kompletnou zmenou fyzických a softvérových častí celej nahrávacej reťaze. Požiadavka, dodávka, spracovanie. Pri PC je to totiž groteskne neefektívne a pocitovo sa teoreticky udávaná rýchlosť v gigabajtoch za sekundu v praxi vníma skôr v "tých stovkách megabajtov" a nevšímam si to len ja. 

  

PC riešenie SSD - príliš pomalé, motor z ferrari na podvozku fabie

PC s SSD manažuje pre hry kritické, grafické dáta takto - CPU ich načíta z SSD, uloží ich do systémovej RAM, ak sú zabalené, tak ich CPU rozbalí. Rozbalené idú zo systémovej RAM do grafickej VRAM. Po ceste miniete niekoľko zberníc, ktoré poriadne zaťažíte. Konzola to robí takto - CPU načíta dáta a uloží ich priamo na určené miesto do VRAM. Úplne zámerne som obe cesty maximálne z didaktických príčin zjednodušil. Ak sú dáta na konzole zabalené, nerozbaľuje ich CPU, ale v reálnom čase na to určený HW. Zaťaženie CPU, SSD IOP, pamätí a zberníc je pri PC vysoké. Konzoly sú o generáciu ďalej.

DOOM na PC, ten najnovší. Herné asety, ak nie ste schopný ich všetky natlačiť do relatívne malej VRAM /najčastejšie 3 až 8 GB/, pochodujú do systémovej RAM. Žonglovanie s bajtami po celom PC. Ak ich náhodou aj streamujete v reálnom čase a rozbaľujete, tak na PC idete na doraz generického riešenia, ktoré Windows, jeho API a bežné SSD radiče poskytujú. Ako asi podobné PC skončí pri pokuse konvertovať natívnu hru pre SSD konzolu ? Rýchlosť toho PS5 SSD /kompletné riešenie/ nemáte, HW depacker nemáte, Win API je pomalé, PC SSD radič nemá zákaznické úpravy. Jediným riešením je nafúknúť hlavnú systemovú RAM na 32 gigabajtov, nech slúži ako buffer a dostať na GPU toľko VRAM koľko je ekonomicky možné.

Xbox Series X a XVA s SFS. To je zas čo prepána ? XVA je Xbox Velocity Architecture a SFS je Sampler Feedback Streaming. PS5 je vybavené podobne, len pod iným názvom. Nástroje skazy určené na demoralizáciu zastaralého PC. Proste riešenie SSD ala konzoly. Herný príklad. Tank v hre vzdialený od vás 500 metrov, vy ležite na kopci s 0.50 cal snajperkou. Keď nečumíte do optiky - má tank na obrazovke 4x4 pixely. Keď čumíte je tých pixelov viac. Tank je balík 8K textúr aj s mip-mapami. Nech je toho 8 mega dát. PC správne netuší, ktorú z "blízkych/vzdialených" dát-textúr kedy budete potrebovať. Prechod medzi "malým" a "veľkým" tankom, teda voľné oko a snajperka je zlomok sekundy. PC teda bude opäť správne pre istotu držať všetky dáta VRAM. V tej istej scéne však pri Xboxe alebo PS5 alokácia pamäte pre ten tank ukáže 16 kilobajtov alebo pol mega. Ako je to možné ?

XVA s SFS /ten sampler fídbek/ môže držať aktívne textúry, zlomky textúr v pohybe iba pre každý viditeľný a aktívny pixel na obrazovke toho objektu !! Nie pre celý tank v každom okamihu a "pre istotu" ako je to bežné na PC. Ak je tank viditeľný na 2x2 pixely, tak 2x2 pixely najmenšej mipmapy. Nemusíte držať vo VRAM alebo presúvať z RAM do VRAM hore a dole celý texturovací set pre tú tankovú mašinu. Pozor. Celá architektúra GPU, SSD, jeho radiča, zberníc, API a nakoniec softvér /samotná hra/ musí byť okolo toho faktu precízne obostavaná. Obzvlášť PS5 je gigantickým spôsobom práve takto dizajnovaná. Intímny spôsob komunikácie medzi SSD a GPU s výmenou ohromného množstva dát. Považujem za vylúčené, aby dnešné lepšie, štandardné PC za 1500 euro a viac s CPU Zen 8 jadrom, nejakou NV 2080 super, PCIe 3.0 SSD a 16 giga RAM dokázalo rozumne rozbehať budúcu "ťažko" natívnu SSD PS5 hru.

 
PC riešenie SSD - ako na konzolách to ešte dlho nebude

PC pozná pojmy ako virtuálne textúrovanie, PRT /Partially Resident Textures - čiastočne v MEM umiestnené textúry/, dokonca aj vyššie spomenutú SFS. Nikdy sa však nerozšírili, neintegrovali vzhľadom na množstvo HW PC konfigurácií bežiacich od DX9 po DX12 a stoviek GPU od desiatok výrobcov, každá s vlastným uplakaným drajverom kompatibilným "sám so sebou". Klasická achillova päta PC platformy. MS na PC zavádza veci ako DirectStorage API, ktoré sa priamo týka nášho problému, ale sú roky /celú generáciu/ vzdialený od pravej a univerzálnej implementácie SSD, tak ako to má vyzerať. Upravený radič, upravené herné API, HW dekompresor, priame uloženie dát do VRAM atakďalej. Pri troche šťastia posunú konzoly /výborné CPU, GPU, SSD/ herný, hrateľnostný vývoj viac ako posledných 25 rokov dokopy. Zoberte si hry DOOM /pioner 3D FPS technológie/, Half Life /narácia/, Counter Strike /referenčné MP/ a vývoj odvtedy prakticky stojí. Iné herné žánre sú na tom úplne rovnako. Tieto stojaté vody by sa teraz mali rozhýbať. Vďaka konzolám a ich SSD, ktoré na tom bude mať leví podiel. Pri PC celé tie roky akurát zrýchľuje načítanie Windows pod 10 sekúnd.

02/04/21

Blast "ML" Processing

Elektroizolačnú pásku už v ruke držal každý chlap a vie, že sa to rôzne krčí, keď tým olepujete nejaký dvakrát zakrivený povrch. Ak hodíte autofóliu na blatník, nebude to bez vrások a bublín. Necháme to na profíkov. Mapovanie 2D textúry na plastický 3D objekt nie je jednoduchá vec ani v hernej grafike. Ak sa ten objekt navyše aj deformuje a textúra na to má prirodzene reagovať, chce to iný chochmes. ZivaRT /realtime/ je technológia firmy Ziva Dynamics, ktorá tieto problémy rieši za vás. Model, svalové skupiny, textúra, šaty sú deformované realisticky, bez artefaktov, profesionálne, rýchlo, efektívne. A využívajú na to strojové učenie /ML - machine learning, AI/. Insomniac Games práve teraz uvoľnili patch, ktorý podporu pre ZivaRT pridáva na PS5 pre niektoré obleky Spidermana.

Na fóre neogaf.com /Beyond3d/ sa následne spustila debata, o čo tu vlastne ide. Nvidia pre ML kalkulácie používa extra HW bloky s názvom Tensor Cores. Časť silikónu GPU je proste vyhradená na špecializované maticové výpočty a tie môžu bežať paralelne so s spracovaním grafiky. Nvidia tensor jednotky používa napríklad na AI riadený upscale grafiky, aby to GPU nemuselo rátať natívne, takže ide ušetrený výkon do framerejtu. AMD GPU /PS5, XSX/ však oficiálne žiadne tensor jednotky nemajú. V špecifikáciach RDNA2 sa síce udáva schopnosť spracovať v "bežnom" GPU compute poli aj int4/8/16, fp16/32 výpočty potrebné pre ML potreby, ale ani slovo nepadlo o efektivite ich behu paralelne s grafikou alebo ešte náročnejšie, zmiešanú presnosť kalkulácií naraz /rôzne triedy integer alebo integer aj floats simultánne/.

Vieme, je to potvrdené konkrétnym talianskym SONY inžinierom, že PS5 GPU sa nedá označiť ako RDNA2 GPU. Je to mix množstvo upravených funkcií aj úplne mimo rámec RDNA2 PC grafík a člen Insomniac Games dokonca potvrdil, že ZivaRT beží na PS5 GPU bez akejkoľvek výkonnostnej penalty. Okamžite teda každého napadne, ak teda PS5 má nejake použiteľné ML schopnosti, čo tak ich nabudúce využiť pre PS5 variantu AI reškálovania rozlíšenia obrazu ala DLSS 2.0 na Nvidia GPU ? Budúce náročné hry sa teda vyriešia "iba" v 1440p/60 režime a následne ich ML nahodí do 4K rozlíšenia, blízko kvalite natívneho 4K.

SONY pri PS4 Pro zaviedlo do obehu pojem Rapid Packet Math. Ide o úpravu HW registrov GPU, aby dokázali namiesto jednej 32 bit fp inštrukcie spracovať dvojicu 16 bitových. Ak teda máte napríklad grafickú operáciu, ktorej stačí polovičná presnosť výpočtu, tak to beží dvojnásobnou rýchlosťou /z 4.2 na 8.4 TFLOPs/. Bolo mi teda naivné si myslieť, že podobné future-proof finesy /a SONY o nich stále odmieta debatovať/ nie sú implementované aj pri PS5. Máme tu teda veľmi výkonné CPU, veľmi výkonné SSD, veľmi výkonný GPU rasterizér, prijateľne výkonný raytracing a zatiaľ záhadné ML schopnosti. Pieskovisko na 10 rokov zábavy pri dolovaní potenciálnych herných diamantov.

04/12/20

Xbox - mačacie zlato

Microsoft ešte nedávno propagoval Xbox Series X ako najvýkonnejšiu konzolu všetkých čias. Už mesiac po štarte XSX a PS5 sa toto pyšné označenie z reklám nenápadne vytratilo. PS5 v multiplatformových hrách totiž beži minimálne tak dobre ako XSX alebo oveľa častejšie - ešte lepšie. Pre MS to musí byť nepríjemné prekvapenie, lebo objektívne tam ten výkon niekde je a obrovský rozdiel v počte CU /36 pri PS5 versus 52 pri XSX a v špičke aj rýchlejšia RAM/, by sa mal nejako prejaviť. Reálne sa odhadoval odskok XSX od PS5 niekde na úrovni 10%, už či v rozlíšení obrazu alebo v počte snímkov za sekundu alebo vo vyššej kvalite grafických efektov. V skutočnosti však zatiaľ hry ukazujú tých "10%" skôr v prospech PS5. Je na rane si myslieť, že SONY s Mark Cerny pri PS5 efektívne ošetrili práve úzke miesta v systéme a nešli len cestou hrubého výkonu, ktorý mal bez rečí valcovať.

Pri PS5 sa teoreticky operuje s vyšším fillrate /64 krát ROP jednotka na veľmi vysokej frekvencii/, s ktorými XSX asi nevie držať krok. Má ich síce tiež presne toľko ale bežia oveľa pomalšie. Fillrate /s ním asociovaná rasterizácia polygónov alebo ich culling/ je iba jedna z asi 20 hlavných častí renderovacej pipelajny a technicky by sa mal prejaviť /rozlíšenie, framerate/ výraznejšie v hre, ktorá až tak netlačí na pílu super komplexnými shader operáciami /kde by mal hrať prím práve XSX/. Ideálna hra by mohla byť Immortals Fenix Rising /Ubisoft/, ktorá sa vizuálne spolieha na "jednoduchú", pastelovú, cartoon zelda grafiku.

Test sa zrealizoval a výsledky dopadli podľa predpokladu. PS5 drží jemne stabilnejší framerate bez tearingu v režime 60fps s dynamickým 4K rozlíšením a nepadne pri tom v obraze až tak hlboko ako XSX /v minime iba 1080p !!/. Pri maximálnom zaťažení teda PS5 renderuje skoro až o 30% pixelov viac ako XSX. V 30 fps móde zameranom na kvalitu obrazu je podľa testu PS5 uzamknutá pevne v natívnom 4K rozlíšení. XSX si však aj tu musí občas pomocť ľahkým znížením počtu pixelov. Škandalózne. Teraz si položme otázku, či je možné nejakým spôsobom fillrate tej PS5 objektivizovať. Niečo by sa našlo.

Eric Lengyel je ex Naughty Dog zamestnanec, vedátor s titulom, autor okrem iného aj softvérovej knižnice Slug pre priame generovanie vektorových fontov na GPU. V hre tak môžte na stenu plácnuť text "Area 51" v najvyššej kvalite aj so škálovaním a bez obmedzenia rozlíšenia bitmapy, ak by ste sa rozhodli pre variantu, že to tam dáte ako obrázok. Slug okrem textu zvládne aj rendering akejkoľvek inej vektorovej grafiky, takže aj ten smajlík a penis. No a práve tento program použil Eric na otestovanie fillrate kapacity PS5 versus zvyšok sveta /bohužiaľ bez XSX, vraj zatiaľ, snáď to doplní/.

Ako vidíte za normálnych podmienok, pri strednom zaťažení, v tomto testíku PS5 zaostáva asi o 10% za Nv 2080 a je asi o 550% pred PS4kou. V extrémnom zaťažení sa situácia radikálne zmení a PS5 komfortne o vyše 30% predbieha Nv2080 a určite by do prachu zložila aj Titan verziu a bolo by zaujímavé vidieť tu aj novšiu Nv 3070ku. PS5 je lepšia od PS4 o viac ako 11 krát !! Nepriamo a voľne teda môžme dedukovať, že pri PS5 sa v silikóne APU hardvérovo urobili asi nejaké optimalizačné kroky /ktoré sa nedajú vysvetliť iba efektivitou API vrstvy/. Výsledkom je lepšia efektivita behu kódu obzvlášť v sťažených "stress test" podmienkach. Vyzerá to tak, že tu globálne niet výraznejšej slabiny a CPU, GPU, RAM, SSD sú ideálne zladené pri smiešne nízkej predajnej cene 399 euro v prípade digitálnej PS5 DE verzie. Na podobne rýchle PC bude treba asi tak tri krát vyšší budget a nerajte s tým, že vám vydrží bez upgrejdu ďalších 7 rokov držiac krok s PS5.

17/11/20

Dávid a Goliáš

Predstavte si dvojicu hardvérovo úplne identických grafických, pracovných staníc. Jednu necháte spracovať jeden terabajt 8K videa v nekomprimovanom PNG formáte a druhú v 10 krát úspornejšom MPEG ekvivalente. Skončí to kolapsom prvej menovanej. Urobme teraz malú zmenu a tej druhej "MPEG" stanici zoberme polovicu výpočetného výkonu. Vyhraje napriek tomu. Ponaučenie z toho je, že racionalizáciou formátu, toku dát na strane softvéru a ak je to vo vašich silách aj optimalizáciou na strane HW dosiahnete rádovo lepšie výsledky ako riešením problému hrubou silou.

PlayStation 5 a Xbox series X /XSX/ sú konzoly s mimoriadne podobnou HW bázou - Zen 2 CPU, RDNA2 GPU, GDDR6 RAM, M2. SSD. XSX má na papieri lepšie čisla. Hlavné, výkonnostné špecifikácie z neho robia "monster" konzolu. Ľahúčko viac sily pri CPU, asi 18% plus delta pri GPU a medián pri delenej RAM XSX má tiež jasne navrch. V prípade multiplatformových hier by mal XSX ukazovať aspoň 10% náskok buď vo vyššom rozlíšení hry, alebo pri počte snímkov za sekundu /fps/ alebo v kvalite grafiky. Realita však zatiaľ ukázala presný opak.

DMC 5 - XSX versus PS5

Trojica hier COD:Cold War, Assassin's Creed: Valhalla, Devil May Cry 5 svedčí o tom, že PS5 beží rovnako alebo dokonca lepšie ako tá papierovo silnejšia XSX, pre ktorú sú navyše v týchto prípadoch aj typické oveľa tvrdšie pády, poklesy fps. Kriticky poviem, že je za tým určite ešte nedostatočné maturované herné DX12 API pri XSX. Ale všeobecne podozrievame v tomto momente aj nešpecifikované HW úpravy PS5 GPU, CPU, zberníc a ich inštrukčných setov. Mark Cerny pri PS4 aj PS4 PRO realizoval kopu "herných" modifikácií ich HW. Je to viacmenej on, ktoré tlačil do popredia asynchrónne výpočty na GPU. Dnes tak populárne na AMD grafických kartách. Na nete sa váľa aj niekoľko jeho nových patentov ukazajúcich prstom na PS5 a bolo by naivné si myslieť, že špičkový, herný kóder nevie, kde má grafický systém ako konzola úzke miesta, ktoré sa dajú v spolupráci s AMD nejakým spôsobom úplne alebo čiastočne poriešiť.

Do pasce poblúznenia veľkými číslami XSX padol aj PC/XBOX "crysis über alles" fanboy Alex z Digital Foundry ako vidíte vyššie. Takto arogantne a hlučne kázal na jar tohto roku napriek jemného upozorneniu, že sa veci v skutočnosti okolo PS5 majú trochu ináč. Dnes o 3/4 roka neskôr výrazne ubral na plyne a ku svojím kategorickým prehláseniam o bezpodmienečnej dominancii XSX sa už tak vehementne nehlási. Ak sa ma spýtate, kedy teda SONY "kápne božskou" a niečo o špeci úpravach PS5 utrúsi, tak to teda neviem. Je možné, prakticky vysokopravdepodobné, že tam ide o nejaké patentové krytie a po dohode s AMD sa ešte o tom pred svetom /a Nvidia nehovorí/ a počkáme si až do leta 2021. Post-Covid obdobie na letnej GDC 2021.

Osobne som si istý, že v špecifických fázach spracovania grafiky bude mať XSX o tých reálnych 10% navrch, lebo compute shader výkon je nespochybniteľný a aj raytracing by mal byť rýchlejší. Hovorím však, pre herného laika a konzumenta, o nedetekovateľných rozdieloch. Navyše ak v HW bloku rasterizácie sedí zhodný počet 64xROPs na strane oboch GPU - PS5 a XSX, tak dosiahnete paradoxne vyšší fillrate /koľko pixelov GPU zo seba dostane/, rýchlejšiu rasterizáciu polygónov alebo ich odstraňovanie /culling/ práve na strane PS5, lebo jeho pixel engine beží na oveľa, oveľa vyššom pracovnom takte. Fillrate: 143 /PS5/ versus 117 /XSX/ gigapixel/s. Veľkou iróniou osudu je teda rozdiel vo výkone v "compute shader" plus 18% v prospech XSX a mínus 18% zas v jeho neprospech pri rasterizácií. Podľa toho, ako hra udrie, na ktorú slabú strunu, tak HW oboch konzol zareaguje lepšie či horšie. Zásadným /a neprekonateľným/ rozdielom tak ostane v špičke minimálne o 100% výkonnejší IOP SSD systém PS5, ktorý doručí na frame signifikantne väčšie množstvo dát ako pri XSX. Toto však oceníte hlavne v natívnych PS5 hrách. Pri multiplatformových alebo cross gen projektov s tým nikto čas strácať nebude. Jednoduchá parita je pragmaticky a ekonomicky rozumnejšia v týchto zlých časoch.

12/10/20

Filmové a herné pixely

A SONY je v tom namočené. Malý technický úvod. Rasterizácia v "počítačovej" grafike. Hráčovi stačí vedieť, že ide o proces v ktorom sa herný hardvér alebo softvér snaží základné grafické primitíva /od úsečky po mnohouholnik a teda aj "herný 3D" polygón/ napasovať do 2D matrice. Raster = pixel mriežka, sieťka. Rasterizácia je teda algoritmus, program, kód, ktorý hľadá ten najlepší, najrychlejší, najkrajší algoritmus ako premietnúť v našom prípade divoko rotujúci polygón v priestore do statickej siete bodov vášho monitora. Nie je to jednoduché, je v tom veľa mágie. Prevod bol v dávných časoch výpočetne primerane náročný /starý DOOM engine, i486/, neskôr pribudli akcelerátory rasterizácie na GPU /3Dfx Voodoo/. Dnes sa snažíme rasterizáciu riešiť aj plne programovateľne, rozumej super flexibilne, obídením fixného bloku HW rasterizácie na GPU ako compute shader /program/, čo nie je nič iné ako návrat ku starej dobrej i486 v čase softvérovo "CPU" rasterizovaného DOOMa. Alebo sa polygónov chceme zbaviť úplne.

Point rendering. Ak totiž 3D grafiku musíme transformovať vždy do 2D pixelov, prečo neurobiť veľký skok a celú metodiku spracovania grafiky, dizajn grafického HW neurobiť tak, aby grafický engine "nevidel" grafiku priamo v pixeloch. Odpadne proces rasterizácie a s ním obludné množstvo problémov 3D grafiky, vrátane veľmi obtiažneho textúrovania objektov /projekcia 2D textúry na 3D objekt, UV mapovanie je "big oof"/. Grafické artefakty - subpixel nepresnosti, specular aliasing, moiré, pixel shimmering majú základ aj v rom, že sa rastrovaci algoritmus musí 30-144 krát za sekundu rozhodovať, kde ten jeden /sub/pixel na matricu dá a občas fyzika nepustí a máte vizuálnu kostrbatosť.

 
Nurulize, Atom View - point rendering

Nurulize bola /minulý čas/ jedna zo maličkých start-up firiem venujúcich sa point cloud renderingu - samo o sebe ide o veľkú tému a bude na ňu ešte dosť času ako prídu hry, ktoré ju budú reálne používať. Veľmi komplexné softvérové prostredie, ktorým Nurulize riešilo celý problém point renderingu dostal názov Atom View /tm/. Ide o softvér schopný efektívne vytvárať a pracovať s petabajtami dát. Veľmi robustný, ľahko zvládne aj filmové asety alebo VR aplikácie prakticky o nekonečnej detailnosti. A SONY túto firmičku minulý rok v lete kúpilo a technológia už aj bola úspešne použitá -MiB a Santa klausovi. Pozadia oboch scén boli reálne, fyzicky postavené ale pretože sa nachádzali na iných kontinentoch alebo krajinách ako herci, tak ich previedli pomocou Atom View do 3D point virtuálneho modelu a štúdium nemuseli postaviť ešte raz. Úspora v miliónoch dolárov.

“The software technology developed by Nurulize, called Atom View, enables us to integrate the highest-quality volumetric data capture with traditional workflows for film, television, and gaming, ushering a new method of content creation.” - Glenn Gainor, President of Sony Innovation Studios.

Hry. SONY okrem Nurulize investovalo aj 250 mega do Epic Games, ktorých subpixel "poly" grafický engine Nanite streamujúci stovky miliónov "point polygónov" z SSD nie je vlastne nič ako varianta Atom Viev od Nurulize. Bodka. Slová SONY, že sa pri PS5 budú sústrediť na famózne vyzerajúce hry s veľkým budgetom dostávajú vo svetle teraz už vám známych skutočností úplne jasný zmysel. PS5 s SSD úložiskom /v budúcnosti možné aj streamovanie z internetu/ schopné dodať za sekundu aj vyše 20 gigabajtov dát bude ľahko produkovať filmovú grafiku v hre aj priamo z už urobených filmových asetov. Ide o evolučný krok, ktorým bude produkcia hier splývať s už zabehanou produkciou veľkých filmov. S tučnou grafikou a filmovoým "workflow" prídu aj profesionálni herci, dabing, scenáre, réžia, kamera. Prvý herný Oscar. A môjho osobného pohľadu jasne viac MCS - "moar cinematik shite" ala SONY.

nabudúce to bude skenovanie real-life asetov do LBGT manifestu TLoU3

25/09/20

PS5 - Kraken dekompresor

PlayStation 5 bude mať o dva mesiace, v deň D - začiatok predaja, definitívne najrýchlejšie nahrávanie dát všetkých čias v segmente bežnej spotrebnej hernej elektroniky a navyše za úplne banálnu cenu  - digitálna PS5 je za 399 euro. Je to možné vďaka veľmi rýchlemu SSD, kde sa nešetrilo "PCI" linkami, extrémne optimalizovanému riešeniu IO modulu, ktorý je kompletne nezávislý na CPU a prítomnosti HW dekódera Kraken /licencia americkej firmy RAD Game Tools/. Chobotnica slúži ako násobič základnej rýchlosti SSD.

tento obrázok je už dnes neplatný !!

SONY pri prvých prezentáciach uvádzalo, že samo SSD bez kompresie dáva do unifikovanej GDDR6 RAM nejakých 5.5 giga/sec dát a s HW kompresiou Kraken cca 8-9 giga/sec pri kompresnom pomere 1.45:1 až 1.64. Táto informácia je dnes už zastaralá a neplatná. Už predtým sme vedeli, že teoreticky vie Kraken na PS5ke doručiť až 22 giga/sec dát a brali sme to ako rezervu pre "strýčka Príhodu". Nie je tomu tak. Kraken je totiž všeobecný pakovací/depakovací algoritmus a je mu jedno či má pod rukami textúry, audio, geometriu, text. Kompresný pomer je cca do 2:1 a ide skutočne o super rýchle depakovanie a vystačí si aj s Jaguar CPU PS4ky. Textúry na moderných GPU však používajú vlastné formáty. 

Block Compression /BC/ je natívny formát, v ktorom dnešné GPU bez milosti čaká, že budú textúry zabalené. Má mnoho subverzií pre každý účel a tá istá firma, ktorá licencuje krakena pre PS5 vie svoje vlastné "Oodle" textúry pripraviť aj v režime BC 1-7, tak aby dosiahla najlepšiu efektivitu vlastného HW Kraken dekompresora v PS5ke. Najnovšie info hovorí, že SONY licencovalo aj túto modifikáciu pre PS5 /a PS4/. Situáciu to mení celkom dramaticky.

Kombinácia Kraken + Oodle /BC 1-7/ textúry dosahuje priemerný kompresný pomer na úrovni 3.16 ku jednej čo po vynásobení krát 5.5 /SSD/ sa rovná 17.38 giga/sec mix všeobecných dát alebo dokonca až dosiahnutie teoretického cca 22 gigového maxima, ak GPU cucá v danom momente iba textúry  V krajne limitnej situácií má vlastne SSD riešenie PS5 rýchlosť celej VRAM starej PS3ky ! Je to enormné zrýchlenie oproti bežnému HDD /PS3, PS4/ s 20-100 mega/sec a pomalým presúvaním čítacej hlavičky po platni. 

PC segment zatiaľ len ťažko túto výkonnostnú úroveň napodobní, lebo podobné riešenie vyžaduje  detailne prepracovanie jednotlivých dielčích krokov a nemôžme od 8-16 jadrového Ryzenu chcieť aby obetoval štvrtinu, polovicu CPU jadier na Kraken+Oodle dekompresiu v reálnom čase. Xbox Series X /LZ+BCpack HW dekompresia/je niekde na polovici medzi prekliato rýchlym a drahým PC SSD a PS5. PlayStation 5 takto získava de fakto niečo takmer na úrovni "ďalšej, externej" RAM o kapacite celého SSD. Fungovať to bude následovne - v hlavnej 16 gigovej pamäti sa vyhradí napríklad 512-1024 megový SSD "buffer", do ktorého bude Kraken skladať dáta rýchlosťou 8 až 22 giga/sec a herný softvér s asynchrónnym GPU sú už dosť šikovné na to, aby úspešne maskovali prípadnú latenciu SSD /SSD je samozrejme stále pomalšie ako špecializovaná GDDR6 RAM/.

Prakticky herne si to predstavte ako 16 bitovú konzolu SNES, Megadrive pripojenú na kartridž nie o drakonickej kapacite 0.5-4 mega ale o veľkosti 512+ mega s 100 násobne väčšou rýchlosťou. Doslova by vtedy nevedeli  čo s tým vlastne majú robiť. A vedieť to nebudú ani na PS5ke. Prvé hry, čo sa z toho prebytku výkonu Ryzen, GPU, SSD budú skúšať vymotať neprídu skôr ako o 2 roky a aj o ďalších tri potom budú stále bojovať so zahlcujúcim pocitom, že celá kapacita SSD "ram" je neustále na dosah. Čo s tým, kde na to zobrať čas to zmysluplne využiť a hlavne prachy ? Ako keby sa vaše PC s internetom pripájalo ku svetu na 100 Gbit optickej linke alebo "DOOM" PC v 1993 nemal 4 mega RAM ale rovných 128. Je to veľká paradigma, veľký skok.

01/04/20

Vpred ku krajším interaktívnym zajtrajškom !!


V temnote bežiacej COVID-19 epidémie, ktorá ak by nebola vôbec kontrolovaná, zabije viac ľudí ako druhá svetová, hráči pochopiteľne myslia stále iba na seba. Aspoň niekto neupadá na duchu. Na fórach sa objavujú zbožné prania, aby SONY odložilo štart PS5 hoc aj o rok a medzitým navýšilo jej výkon. Tento scénar sa určite nenaplní. Zmena celej matičnej dosky od APU po chladenie, softvérové SDK a nové kolo testovania, proste nie. A nasratí akcionári. Ide sa podľa starého plánu a pri očakávanom ekonomickom kolapse minimálne v európe bude dôležitá cena, nie výkon konzoly. Analytici predpokladajú, že SONY chce predstaviť PlayStation 5, teda to ako fyzicky vyzerá, koľko stojí, konceptové "wow" videá a herné next gen ukážky všetko naraz na jednej akcii.

Rovnako tvrdia, že počas tejto prezentácie s pokorou pochopíme, že hanba, ktorá vznikla pri porovnavaní TFLOPs výkonu medzi PS5 a XSX /cca 10 vs 12 teraflops/ sa "vysvetlí" po predvedení špecifických vylepšení najnovšej RDNA2 GPU architektúry, kde SONY podľa M. Cerny s AMD veľmi tvrdo zamakalo. A potom pochopíme, že obavy o výkon  a budúcnosť PS5 boli zbytočné. Nielen rozlíšením a počtom snímkov za sekundu je totiž človek živý. Večné skuhranie o mizernej hernej interakcii, herná mechanika ala PS1, na ktorej sa nič za 25 rokov nezmenilo. Náprava tohto stavu od nás chce úplne prekopanie spôsobu práce s objemom /mesh-polygóny, voxely/ a povrchom /pixely/. A toto presne aj dostanete.

“Some of these features will appear in AMD’s desktop GPU’s and APU’s one day, but they are features we co developed with them.” - Mark Cerny o rozšírených možnostiach PS5 GPU.

Vec sa má tak, že už na PS4 sa experimentovalo s nahradením defaultnej HW rasterizácie ručne písaným kódom bežiacim priamo v compute shader časti GPU. Manipulácia s pixelmi na úrovni softvérového renderingu ako v ére, keď všetko bežalo na CPU a GPU bola iba kus VRAM a nič viac. V tomto sa bude pokračovať aj na PS5 ale pribudne tam úplne nová možnosť manipulácie s geometriou, s vertexami /prenesene polygóny/ novým revolučným spôsobom. MESH shader - takto to volá Nvidia, AMD to nazve inak. Navyše je priamo naviazaný na razantné zvýšenie interakcie so scénou. Veľmi žiadúce.

Niekoľko čísel z vlastnej hlavy. Obraz s rozlíšením "4K" teda 3840 × 2160 je 8.3 miliónov bodov x 120 fps = 996 Mpix teda 1 miliarda pixelov krát desaťnásobný overdraw /veľa transparencií - sklo, výbuchy, partikle, voda, lístie, tráva/ je 10 miliárd farebných bodov za sekundu, ktoré vaše GPU zo seba musí vytlačiť. PS5 GPU bude mať fillrate minimálne 140 Gpix/sec. Zdá sa teda, že buď pracujeme so značnou rezervu alebo je grafická pipelajna neefektívna a ide o jalovú redundanciu. Je verejným tajomstvom, že vývojár trávi mnoho času práve optimalizáciou toku dát, aby do rasterizácie nešli dáta, ktoré vy ako hráč neuvidíte. Grafická pipelajna totiž sama o sebe až taká múdra nie je a ochotne a neefektívne spotrebuje všetky vaše gigapixely. Toto chce zmenu.

dnešné GPU sú veľmi silné v statickej geometrii, avšak nemohúce v dynamickej

Grafika hry funguje aj bez textúr ale nie bez polygónov a "vertex stage" spracovania grafiky aj na GPU za 2 litre pracuje groteskne neefektívne. Ide to asi takto. CPU so 16 jadrami dá dokopy kus geometrie, tie polygóny z jedného jadra /sic/ strčí do VRAM, odpáli draw call - informácia pre GPU o kvantite a kvalite toho objektu. GPU pribehne a začne tie grafické primitíva po jednom /sic/ sŕkať brčkom do vertex shaderu grafickej pipelajny, následne sú rasterizované, teda transformované do zobraziteľnej podoby na 2D obrazovky. Každý jeden draw call stojí CPU istý veľmi vzácny čas, takže sa to časom optimalizovalo do nemoty, aj preto lebo sme z jednojadrových procákov postúpili až ku 8-16tim. Rovnaké zmeny nastali aj na strane GPU, lebo jedno jeho CU /compute unit/ má pri AMD až 64 SIMD jednotiek, takže sme paralelizovalo aj to. Išlo však o beznádejné látenie, plátanie neopraviteľného a nemiestne predlžovanie, zahusťovanie grafickej pipelajny.

Indexovali sme polygóny pre možnosť recyklácie ich vertexov v lokálnej GPU keške. Komplexné vertex stream formáty, samozrejme multi draw calls a nepriame draw calls generované GPU bez asistencie CPU. Hlavné vlákno GPU na spracovanie geometrie sme komplikovali pridaním geometry, hull, domain, teselácia shaderov aby sme získali možnosť manipulácie polygónov priamo na GPU. Časom zme zistili, že pre bežného progiša je ťažko povedať ako túto časť GPU riadiť, aby to bolo skutočne efektívne a rovnako rýchle na dosť odlišných architektúrach AMD, NVidia či PowerVR a mobilných SOC. Detailné analýzy aj tak potvrdili, že bez ohľadu na obrovskú snahu inžinierov grafických čipov a dizajnérov API je využitie moderného HW trestuhodne nízke. Veľká, obrovská časť výkonu letí hore komínom.

lepšie ale stále nie moderné, brute force prístup pomocou  i7-8700K + Nv2080

Po novom sa teda AMD a Nvidia rozhodli, že von oknom poleti všetko vyššie uvedené, "30 ročné" dedičstvo otcov, všetko preč - jednotlivé body spracovania polygónov, tieňovanie, fixed funkcií /teda skryté za API, manuálne neovladateľné/. Nahradi to MESH shader /termín Nvidia/, radikálne zjednodušenie, totálna flexiblita, plná programovateľnosť spracovania geometrie. Celá grafická pipelajna prejde do "compute shader like" programovacieho modelu. Preložené do ľudskej reči - vraciame opať raz ku kvázi "softvérového" režimu, ešte pred prvú Voodoo 1 a Geforce 256. Náznaky, že k tomu dôjde boli zjavné posledné roky aj v hrách, keď sa podľa možností GPU snažili progiši nahradiť, zrýchliť defaultnú grafickú HW pipelajnu presunom do ručne urobeného kódu bežiaceho na CU jednotkách GPU. Pri PS3 sa to robilo rutinne na SPE subprocerosoch CELL CPU, aby sa pomohlo RSX GPU.

Pre MESH shader /nová metodika, kde sa plánuje časom ešte väčšia univerzálnosť a zníženie počtu krokov, ktoré vertex musí podstupiť, kým nebude rasterizovaný/ je typická extrémne paralelnosť spracovania dát, novinka ako sú meshlets - rozdelenie 3D modelu na menšie primitíva, časom až na úroveň pixelu, čo veľmi vyhovuje dnešným GPU, vysoká granularita a utilizácia výkonu, čomu sa GPU opäť veľmi teší. Konverzia z štandardného "legacy" modelu do nového je relatívne jednoduchá a je dokonca možné medzi nimi preskakovať aj v rámci generovania frejmu obrazu. Luxus.

MESH shader teda zjednodušuje a značne /!!/ zrýchľuje staré veci. Čo tie nové ? Asi ste zistili, že ak v hre zapnete teseláciu povrchov, vlasy, chlpy, srsť, fyzikálne korektné šaty, tiež nejakú tú vodu čo tečie ako má a nie je len trápne animovaná, tak pri všetkom tomto vám dnes lepšie mainstremové GPU na úrovni Nv1070/RX580 hneď kľakne na kolená. V momente ako sa snažíte zobraziť niečo viac ako statickú geometriu, tak je rozprávke koniec.

MESH shader umožňuje bezprecedentnú voľnosť práce s polygónami s extrémne vysokou efektivitou ich spracovania na GPU. Môžem tu zo seba vychrliť ďalšiu A4 analytického textu ale kto by to čítal a stačí, keď vám poviem, že v technicky perfektnej hre by to mal byť rozdiel ako medzi hrubým papierovým  modelom auta a plne interaktívným Lego Technic monštrom. V hre budete mať generovanie dynamických normál povrchov, tangentov s korektným skinovaním, displacement mapovaním, Catmull-Clark delením povrchu a vertex animáciou na modele spolu s izo-povrchovou "marching cubes" extrakciou hmoty z meshu a generovaním kontinuálneho LOD, či voxel meshovanie priamo na GPU. Pod touto hromádkou technického nešťastia si predstavte panáka z vosku, ktorému strelím takú po papuli, že mu vytrhnem kus "mäsa" z tváre na zem a tá diera sa naplní krvou, ktorá bude rešpektovať topológiu lézie a po pretečení bude kopírovať povrch v smere gravitácie. Konečne pravé "next gen" interaktívne možnosti, ktoré si po desaťročiach stagnácie všetci zaslúžime.

22/03/20

PlayStation 5 - raytracing


Aj v najnovších hrách nie je možné si nevšimnúť s akými problémami stále bojujú pri spracovaní tieňov. Letíte nad krajinou a vidíte zreteľne hranicu, perimeter, od ktorej to engine proste zareže. Beháte po zemí a sledujete tie koktavé kaskády tieňov meniace kvalitu nedôstojným spôsobom. Tiene sú veľmi náročné na systémové prostriedky mašiny. Ľahko zložia na kolená aj 1000 eurové PC GPU alebo ninja CPU. Dvojica najčastejších techník na ich zvládnutie sú shadow mapping a shadow volumes. Tá prvá je menej technicky náročná ale devastuje úložný priestor, RAM, zbernice a fillrate. Ide v podstate o balík textúr. Ten druhý postup zas zabije vaše CPU, lebo sa pri ňom exaktne presne ráta priestor, do ktorého svetlo nemá vstúpiť. Tieto tiene sú teda presnejšie, krajšie ale výpočetne nenažrané. Môžte ich kombinovať. Môžte použiť aj SDF tiene. Môžte rasterizáciu znasilňovať na iks spôsobov. Vždy to bude iba o hrubej aproximácii s prudko narastajúcou komplexnosťou pri čiastkovom riešení každej banality. V istom bode, ak na to HW má, je vhodnejšie použiť raytracing.

naraz to na PS5 mať nebudete, pekne selektívne

Raytracing /RT/ pritom s tieňami, priame alebo nepriame, vlastne nemá ani nič spoločne. Vznikajú pri jeho použití zadarmo, všade, blízko aj ďaleko a vždy vo výbornej kvalite. Čo je to za zázrak ? Predstavte si hernú scénu. Neosvetlenú. Hádžete tam lúče /raytracing/. Veľa, milióny, miliardy. Letia, odrážajú sa, vždy patrične oslabené podľa vlastnosti materiálu. Tam kde na pixel nedopadne nič alebo málo - ostane pôvodná, úplne alebo čiastočne neosvetlená plocha. A to je všetko. Raytraceované tiene sú vlastne absenciou svetla a vznikajú zadarmo. Geniálne. Pri rasterizáci spracujete scénu vždy minimálne dvakrát. Raz ju nasvietite a potom sa trápite s tieňami. Raytracing to zvláda v jednom priechode a tiene vôbec nerieši.

Grafické karty od Nvidia už prvú generáciu raytracingu úspešne zavádzajú a tlačia sa aj do DirectX špecifikácií. AMD sa na to chystá skočiť v podobe konzol 9. generácie. Je AMD riešenie diametrálne odlišné od NVidia ? Podľa dostupnej dokumentácie sú doslova rovnaké, mínus pár detailov okolo časovej koherencie s keškami. Obe majú raytrace jednotky úzko zviazané s CU /shader engine, registre/ a s textúrovacími jednotkami TMU. Obe akcelerujú BVH / bounding volume hierarchy/, teda uľahčujú traverzovanie lúča scénou vynechaním objektov, ktoré lúč arbitrárne nemusí testovať.

Nvidia pri NV 2080 Ti udáva textúrovací výkon na úrovni 420Gtex/sec a RT výkon zas s cifrou 10 Grays/sec. Index ratio 1:10. Pri XSX si texture fillrate vypočítame takto: 52 x CU x 4 TMU na jednu CU krát 1.825Ghz = 379.6GTex/sec. Veľmi blízko tej 2080TI. Ideme ďalej. Microsoft udáva, že XSX zvládne 380 miliárd BHV operácií za sekundu. Kauzalita s výkonom TMU je "čiste náhodná" a ide o tvrdý limit ako vidíte. Odhad pri XSX s použitím NV prepočtu je, že zvládne 9 Grays/s. Ani PS5 nenechám bokom: 36 CU x 4 TMU na CU krát 2.23Ghz = 321GTex/sec a teoretických 7.6Grays. Pre porovnanie - pri non super NV 2070 udáva Nvidia 5.6Gray/s. Ak vás to teda poteší, tak má PS5 RT výkon niekde okolo hladkej NV2080. Dostatočné na trochu blbnutia s reflexiami alebo s lokálnymi tieňami.

PS5 a XSX sú prvou generáciou konzol s prvogeneračným AMD RT. Musíte byť zhovievaví aj Mark Cerny dobre vie, že RT je v tejto fáze viac gimmick ako plnohodnotná fičúra. Na raytracing použiteľný pre nasvietenie, reflexie, proste všetko naraz čo to len dá - potrebujete aspoň 50 TFLOP GPU so zodpovedajúcím zázemím /shader engines, fillrate, extrémne rýchla RAM, kešky/. Je možné sa k tomu dostať o cca 7 rokov pri zdvojnásobení RT výkonu každé tri roky, bez navýšenia ceny a s prechodom do rutinérskeho mainstreamu.  Možno to však o 7 rokov nebude raytracing ale photon mapping, iný typ globálneho nasvietenia so všetkými finesami sko v skutočnom svete. Najbližšie roky budú o fyzickom vytláčaní rasterizácie z hardvéru a hľadaní konsenzu čo ju nahradí.

20/03/20

PlayStation 5 - SSD /solid state drive/


Karavána je tak rýchla ako je jej najpomalšia ťava. GTA s obrovskými hernými asetmi, ktoré je treba priebežne streamovať, by teda na PS2ke nebola realizovateľná, ak by tam namiesto relatívne rýchleho DVD bola single-speed CD ROM. Tá istá hra na tej istej mašine by bola technicky oveľa lepšia s použitím bežného 5400rpm HDD a ešte lepšia ak by si požičali hypotetický flash kartridž s povedzme 250 mega/sec priepustnosťou. Dnes už vieme, že do PS5 SSD investovalo SONY cielene more energie a inžinierského filipa a je minimálne o 100% rýchlejšie ako XSX SSD riešenie. Čo to teda asi môže v budúcnosti znamenať ?

PS5 SSD - teoretické maximá: 5.5 giga/sec bez kompresie, 8-9 giga/sec s kompresiou

Myšlienková konštrukcia, špekulácia. MS pri XSX vyhradilo 2 a pol giga z celkových 16GB GDDR6 pre OS konzoly. Pri PS5 zatiaľ o podobnej alokácií nepadlo ani slovo. Čo keby som vám povedal, že pri PS5 by z tých 16GB bolo pre OS vyhradených iba 0.5 gigabajtu a zvyšok by sa nachádzal vo "swap file" na SSD úložisku. Prakticky by to znamenalo, že v okamihu ako na dualshocku stlačite tlačítko pre OS funkcie, tak systém uvoľní z hernej ram napríklad 2.7 giga textúr a a behom 0.5 sekundy tam natiahne 2.7 giga dát celého OS.

Práve toto číšlo som si zvolil preto, lebo sa pri PS5 SSD udáva hodnota udržateľného sekvenčného čítania dát /bez kompresie !/ na úrovni 5.5 giga/sec. Za pol sekundy teda viete dostať z SSD do RAM práve tých 2.7 giga dát, čo bohate stačí na celý game OS. XSX vyhradzuje pre OS natvrdo práve okolo tých 2 a pol giga. Čo na to hovoríte ? Teoreticky by to znamenalo, že PS5 by mala k dispozícií viac /oveľa viac/ hernej RAM a navyše na vyššej priemernej rýchlosti, XSX má na maximálke iba 10 giga z 16tich !

Z čiste herného hľadiska je PS5 schopná s kompresiou preniesť za sekundu väčší objem dát ako je celá disponibilná pamäť PS4 /teda 8 gigabajtov/. To je aj pre mňa dosť ťažko plne pochopiteľná cifra. Pri first party PS5 hrách budú teda vedieť vývojári narozdiel od XSX dostať na frame oveľa vyššiu hustotu grafických elementov /textúry, modely, animácia ale aj to audio/ a ak sa potvrdí aj teória o vyššej kapacite voľnej hernej pamäte, tak špičkové PS5 hry môžu vyzerať výrazne lepšie ako u XSX napriek jeho objektívne výkonnejšiemu GPU. Hneď zajtra to však nebude, dnešné grafické middleware sú predsa len desaťročia stavané okolo HDD paradigmy s jeho 50-100mega/sec rýchlosťou a nekonečnými "seek times".

30/06/19

Deformujeme, ohýbame, lámeme


"Metóda konečných prvkov je numerická metóda slúžiaca na simuláciu priebehov napätia, deformácii, vlastných frekvencií, prúdenie tepla, javov elektromagnetizmu, prúdenie tekutín a pod. na vytvorenom fyzikálnom modeli. Jej princíp spočíva v diskretizácii spojitého kontinua do určitého (konečného) počtu prvkov, pričom zisťované parametre sú určované v jednotlivých uzlových bodoch. MKP sa používa predovšetkým pre kontrolu už navrhnutých zariadení, alebo na stanovenie kritického (najnamáhanejšieho) miesta konštrukcie. Hoci sú princípy tejto metódy známe už dlhšiu dobu, k jej masovému využitiu došlo až s nástupom modernej výpočtovej techniky." - wikipedia

Po anglicky FEM /finite element method/ a ide o rutinne používaný postup mimoherne v priemysle /ničíme autá v simulovanej havárke alebo testujeme pevnosť zvaru/ už celé desaťročia. To vyššie vám tiež preložím do ľudskej reči. Zoberiete klasický polygónový objekt /mesh/ a jeho vnútornú štruktúru rozdelíte na sieť štvorstenov /malé pyramídky, ide asi o najmenší 3D objekt/. Každý jeden z nich má definované vlastnosti napríklad ako tuhosť /odolnosť voči deformácií/, zachovanie objemu /hmota by sa nemala pri deformácií strácať/, bod plastickej deformácie alebo bod zlomu. No a môžte počítať.

Aj na prvý laický pohľad je zjavné, že ak jeden objekt rozdelím na 16 000 menších asi to pre mašinu veselé nebude. Za starých čias to grafické stanice zvládali skôr v semi-realtime režime a my to teraz chceme do hier vo väčšom merítku a aspoň na 30fps. Odvážne. Nvidia sa do toho pustila už pred mnohými rokmi v balíku svoje PhysX fyziky pod názvom FleX - je integrovaný do Unreal enginu a samotnú Flexku by ste mali nájsť v hrách Fallout 4 alebo Killing Floor 2. FleX je z toho čo viem nájsť zjednodušenou FEMkou, teda menej parametrov, s ktorými sa musí trápiť.

FEM fyzika ala AMD - je to celá prednáška, názorné ukážky máte napr. v 3:53 a 32:50 minúte

Video vyššie je úplne čerstvá novinka od AMD. Ide o "plnohodnú" FEM /je možné ju napasovať na CPU, GPU/ a pretože je PS5 kompletne AMD stroj tak nás to extra zaujíma. Opäť ide o plugin integrovaný do Unreal enginu a čaká na dostatočný výkon aby sa prejavil. Tak snáď sa s tým stretneme v tých PS5 hrách. Osobne to vidím tutovo a masovo použiteľné v niečom ako The Last of Us, teda komornejšia gamesa, kde je lepšia kontrola nad prostredím. Nečekám to v Gran Turisme 7 kde hrozí, že sa zrazí naraz 22 áut so sanitkou. V ďalšom GTA to ale očakávam aplikované aspoň na malé detaily - trochu železného ohýbania značiek, trochu trhania šiat, lámania stromov, možno nejaké nalievanie vína do pohára. Také milé hravé veci.

27/06/19

Menej je niekedy viac a ako veľa je už dosť


Pri novom grafickom engine pre chystaný, najnovší diel Call of Duty som zachytil tieto kľúčové slová: PBR – physically based rendering /denná rutina, nuda, matematický model interakcie svetla s materiálom/, photogrammetry /módny hit, špeciálna technika skenovania real life textúr s rešpektovaním PBR/ a nové výrazne efektívnejšie spracovanie geometrie scény /pod čim si predstavím hlavne kus poctivého kódu tzv. occlusion culling algoritmus/. Venovať sa budeme tej geometrii a čo znamená culling polygónov sa hneď dozviete.

Dnes sa totiž COD dev tím pochválil, že zatiaľ čo v starších dieloch ich engine zvládol asi 3 milióny polygónov na frame, po novom to bude bežne 16-17M per frame. Čo je teda vážne dosť a v maxime utiahne aj 24M. A to je už čistý next gen triedy Playstation 5, či ako to vlastne je ? Herný frame o full HD rozlíšení 1 920 × 1 080 pixelov má cirka 2 milióny obrazových bodov a pri 24M polygónoch na frame je "za každým pixelom" technicky ukrytých 12 polygónov /overdraw/. Ide teda o masívny výkon a veľkú rezervu pre prípadné alfa efekty /okná, hmloviny, výbuchy, oblaky, stromy, tráva, voda/.


1000 polys na frame /30fps/ stačí na Qvák wannabe grafiku

Samozrejme, nie každý objekt-polygón-vertex sa prebojuje až na obrazovku. Ak je náhodou časť hernej scény zakrytá nejakým oklúderom - panduľák stoji za tankom a tank zakrýva váš výhľad, je vašou povinnosťou sa tých "zakrytých" polygónov zbaviť - teda ich culling na základe oklúzie /tiež všetky odvrátené strany objektov - backface culling alebo "to" za okrajom monitoru - frustrum culling/.  Ak sa odstránite tie, ktoré nevidíte, šetríte GPU a tá toho utiahne oveľa viac. Herné enginy tento problém riešia od veky vekov, je to ich pevnou súčasťou /aj toho vyššie na Saturne !/, dokonca si môžte kúpiť celý balík ako je Umbra, ktorá to urobí za vás. Witcher 3 to urobil presne takto. A každé GPU sa snaží aj o nejakú základnú formu podpory na HW úrovni /via Z-buffer, depth buffer, iks HiddenSurfaceRemoval variánt/.

Všetko pekné,  ale to čo som doteraz napísal sú už dávno prekonané, zastaralé prdlačky. Stále tie nekonečné polygonové stripy pre GPU musí pripraviť CPU, na ktorom zároveň beží ten super sofistikovaný occlusion culling kód. Mimochodom práve to bola veľká časť práce SPE jednotiek v PS3ke, aj takto pomáhali RSX GPU. Pravé next gen riešenie od Nvidie pritom existuje už nejaký ten rok ale pretože PC GPU mainstream je hardvérovo o pár poschodí nižšie, tak to celé leží ladom.

VS/GS/HS/DS

Nvidia. Oni dobre vedia, že sa blížime ku limitom klasických polygón mesh povrchov /vertex, geometry, hull, domain shader/ s akými ťažkosťami sa potýkame pri manipulácii s nimi a že chudák CPU za to nemôže. Takže tu máme úplnú novinku a tou je MESH shading. Nahrádza všetko to staré, všetky tie skratky v titulke kapitoly a ide o skutočne revolučnú, next gen techniku. A mimochodom to beži komplet na GPU vrátane generovania "CPU" display listov, cullingu, tesselácie a LOD manažmentov. V jednej RAM a bez pendlovanie po zberniciach. Je za tým kopa práce a je to úplne prevratné. Totálne programovateľne, autonómne geometrické operácie bežiace na GPU. Dav teraz kričí - chceme ukážku Nvidia a nech to fičí.



Prosím - cirka 50 000 000 polygónov na frame po vyradení tých, ktoré nemáte vidieť. Bez námahy, bez asistencie CPU. Teraz ešte musíte vymyslieť kvalitný LOD /level of detail/ systém, lebo šuter je až príliš detailný čo v ďiaľke nepotrebujeme a nutnosť mať vysoký počet LOD úrovní zas prináša iné nevýhody. Riešením je systém on-the-fly Continuous Level Of Detail generation. O tom určite inokedy, keď sa potvrdí, že PS5 GPU podporuje primitive shader a primitive discard akcelerátor vyššej triedy a je aj správne implementovaný. Proste to isté čo už má Nvidia.V špičkovej PS5 hre, aj tak je to už jasné, vás bude čakať neuveriteľný nárast "fyzickej" geometrie /polys/, kvality textúr /rozlíšenie, počet/, komplexnosť shader kódu /rasterizácia na úplnom olympe/. Proste sa opäť musím vrátiť k tomu Unity Heretic tech demu, tak. A raytracing ste zatiaľ ešte ani nespomenuli.

22/06/19

Procesorový výkon PS4/PS5 a "intel inside"


Na vianoce roku 2013 sa tu dovalila Playstation 4 s CPU na báze architektúry AMD Jaguar s pracovnou rýchlosťou 1.6GHz. Málo štavy. O tri roky neskôr prišla PS4 PRO so stále tým istým CPU, len trošku rýchlejším - 2.13GHz. Intel svoje vlastné osemjadro predstavil asi pol roka po tej základnej PS4ke, v lete 2014. Super špičkový model Intel® Core™ i7-5960X processor Extreme Edition /8c,16t, základná rýchlosť 3.0GHz, boost 3.5GHz, obrovská 20 megová L3 keška/. Určený primárne pre serióznu prácu. Cenovka od 1000 dolárov vyššie, TDP do 150 watt, prakticky žral to čo celá PS4 v bežnej hre.

jedno jaguar jadro je tak malé, že na plochu PS4 APU ich hravo vopcháte aj 32 !!

AMD Jaguar, nikdy to žiadne tajomstvo nebolo, je tragicky nevýkonné CPU,  v danej dobre ale AMD nič lepšie pre herné APU naponúkalo. Žiadna alternatíva, jediná možnosť. Teraz postavím toho šmejda zoči voči tej i7-5960X beštii. Konkrétne beriem AMD-Athlon-5350-APU-R3 s jaguarom na 2.1GHz a benchmark ukazuje, že ho intel poráža komfortne a aj o stovky percenta, ukazujem hlavne na singel core výkon.

PS5 dostane Zen2 CPU, kompletne nová vec, čo je tiež 8c/16t CPU ako ten intel 5960ka, pracovnú frekvenciu v prípade konzoly odhadujem do 3.2GHz, má to oproti intelu 2 krát väčšiu L1/L2 cache a obrovskú 32 megovú L3 kešku, TDP bude iste do 60 watt, skôr okolo 50ky /do termálneho budgetu 5960ky ho teda naskladáte tri krát, wow/. Cena nie je podstatná, bude to malý zlomok tej intel tisícovky. Vysoko pravdepodobne PS5 Zen2ka dokáže per jadro a megahertz ten intel poraziť. Technická - ten Jaguar v PS4ke, ak chňapnete po jaguar dvojadre v AMD Sempron 2650 APU, vás bude stáť tuším cca 25 dolárov. To aby ste boli zorientovaný aj v cenových reláciach.

PS5 CPU oproti PS4 CPU beží na dvojnásobnej rýchlosti,  minimálne o 100% vyšší IPC /inštrukcie za sekundu/ výkon na jadro a megahertz, 8 versus 16 threadov, AVX inštrukcie /cough 512 cough/, oveľa vyšší FPU výkon, omnoho väčšie kešky, rýchlejší prístup do RAM atď. atď. Triezvy odhad mi hovorí, že to bude mať celkový výkon cca 4 až 5 krát lepší než to čo máte v základnej PS4ke dnes. Vzhľadom na stagnáciu v hertz rýchlosti /už veľmi dlho sa medián motá okolo 3.5-4.0Ghz/ je to solídny nárast výkonu a PS5 bude mať lepšie CPU ako ten tisicdolárový intel, ktorý je ešte aj dnes a dlho bude parádný procák aj pre gamesy. Pri multiplat hrách, ktoré museli brať ohľad na pomalý Jaguar sa totiž omoho výkonnejšie "PC CPU" ledva pretáčali.

A takto som si sám nahral na smeč, či nás teda v ďalšej generácií čaká viac 60fps a menej sub 30fps hier ? V otázke zároveň nájdete aj odpoveď. Je veľmi ťažké herne vyťažiť 8c/16t Zen2 na 100%. Vaša hra by musela byť niečo extrémne, bezprecedentné unikátne čo v teréne čistokrvnej PS2 hrateľnosti v 99% dnešných a blízko pripravovaných hier je málo pravdepodobné. Bottleneck /úzke miesto/ teda naďalej ostane na tričku GPU. Heretic demo na Unity engine ponúka pravú "next gen" grafiku a na PS5ke v tejto filmovej IQ /!!/ kvalite pôjdete okamžite na 30fps /VRR-variable refresh rate do toho zatiaľ zaťahovať nebudem/. GPU výkonu zjavne nie je nikdy dosť, CPU naopak prebýva, lebo "PS2 hry". Well, well.

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.

29/05/19

Hjörleifshöfði



- planéta Lah´mu /film, Star Wars: Rogue One/
- Death Stranding /hra, PS4/
- Rebirth /technologické Unreal engine PC demo/

Ak sa ma niekto pred mnohými rokmi, keď sa tu ešte rozvaľovala PS2ka, pýtal kedy dosiahneme úroveň grafiky CG filmu Final Fantasy: The Spirits Within /vtedy klasický referenčný bod majúci navyše priamo súvislosť s počitačovými hrami/. Tak odpoveď znela, že až tu bude Playstation 5. Jednoducho som "na prstoch" interpoloval potrebný výpočetný výkon, fillrate a hlavne veľkosť RAM.

To video Rebirth Unreal dema /krajinka, hmlový opar, vlhké šutríky, mach/ čo beží na NV 1080Ti je inak priam zarážajúco vzhľadovo podobné skutočnej krajine ostrovného štátu Island, konkrétne lokácii okolo jaskyne Hjörleifshöfði, ktorá sa stala vzorom pre tú filmovú planétu v Star Wars. Určite si to cez google street view pozrite.

PS5 GPU bude aplikačne-herne ekvivalentné asi tej NV 1080Ti, pričom doslova "ten istý" level grafiky, tú istú scenériu, obrovský priestor, skaliská a premočenú travu vidím už dnes v chystanej PS4 hre Death Stranding na engine Decima. A na to stačí biedna PS4 PRO s notebukovým CPU a skromným a podtaktovným 4 TFLOP GPU ala AMD RX 480.  S PS5kou nás teda čakajú pekné časy,  pekné v doslovnom zmysle slova, lacné to iste nebude, to však ani natočenie Avengers filmov a tam single player AAA hry asi smerujú. Viď veľký úspech so Spidey PS4, ktorý je náhodou aj vizuálne nádherný. Insomniac Games možno skoro dostanú na prácu ďalšiu marvelovku.

V budúcnosti sa teda budeme môcť aspoň kochať. Bezmyšlienkovité zlepšovanie grafiky postupnými krokmi je ta najjednoduchšia, najvďačnejšia vec pod slnkom. Dobrých či výborných grafikov je more. Tu špinavú prácu na skutočnej hrateľnosti /kde patrí všetko od hernej mechaniky, AI, fyzikálnej interakcie, scriptov, scenárov/ treba tvrdo odrieť a vyžaduje zriedkavo sa vyskytujúci talent. Dar od boha. Grafika príliš nie, heh a to hovorim ako starý speccy grafik.

28/05/19

Playstation 5 GPU preview


Na energiu najžravejšou časťou PS5 bude opäť GPU /nie inak tomu bolo aj pri PS4 alebo PS3/ a z plochy APU si pre seba odhryzne minimálne dve tretiny. Teplotná obálka celej konzoly sa opäť musí vojsť do cca 185 watt. Ak pre Zen2 CPU na 3.2GHhz vyhradím nejakých 55 watt /desktop varianta na úrovni 3700ky má TDP 65 watt/, pre SSD/HDD a MB chipset 25 wattov, ostáva mi asi 105ka pre GPU. Pop kultúrny odkaz, ktorú som tu vsunul - Shimano 105 je klasická mainstreamová sada /pohon, rozvody, riadenie, brzdy atď./ na cestných bajkoch na ktorých pretekáme, nad ňou je Ultegra a ešte vyššie veľmi drahá Dura Ace /používam mix posledných dvoch/. PS5 GPU bude podobné poskladaná všehochuť - trochu štandardného PC GPU, trochu experimentálnych AMD extenzií a veľa tajných "secret sauce" prísad by Mark Cerny.

Nebudem klamať, som smrteľný unavený z toho ako sa internet motká a háda asi druhý rok koľkože tých TFLOP výkonu by PS5 GPU mohlo mať, alebo koľko túžia aby malo. Lietajú tú čisla v intervale 8 až 14, najväčšie šance má niečo okolo 12.9. Vlajková loď AMD Radeon VII má na frekvencii 1400-1750Mhz /boost/ cca 13.4TFlop pri TDP tesne pod 300 watt. Dosť z toho má na svedomí veľmi hladných 16 giga HBM2 pamäte, ktoré mať PS5 nebude, tam sa použije úspornejšia GDDR6ka. Tie watty sú teda náš hlavný problém.

sorry, 100 krát prežuté čisla, zbytočné špekulácie, blb vopchal krk do slučky


- pôvodné PS4 GPU používa 18 CU /compute unit / blokov po 64 SIMD = 1152x2 na 800Mhz na 256 bit zbernice dá 1.8432 TFLOPs s udávanou TDP 75 watt.

- novšie PS4 PRO používa 36 CU blokov po 64 SIMD =  2304x2 na  911Mhz, na 256 bit zbernice dá 4.198 TFLOPs s udávanou TDP 150 watt /eurogamer dokázal dostať z prvej PRO verzie celkovú spotrebu takmer až 180 watt, drvivá vačšina z toho padá práve na vrub GPU/.

- súčasné teoretické maximum AMD GCN architektúry na single GPU chipe je 64x64x2x1800 = 14.8TFLOPs, TDP vysoko cez 300 watt samozrejme, veľa šťastia s chladením iba vzduchom.

Teraz použijem takzvanú bulharskú metódu aby sme sa dostali na tých vydrankaných cca 13 TFLOP. PS5 GPU /nasledujú mnou totálne zo zadku vytiahnuté cifry/ použije napríklad 60 CU/64 SIMDx2 na 1650 Mhz = 12.67 TFLOPs alebo môžte znížiť počet CU ale zároveň musíte razantne navýšiť pracovnú frekvenciu až na šialených 1800Mhz. Veľa možných kombinácii. Ako problém vidím potrebný vysoký počet CU /potrebujete zlepšiť vyťaženost a ekonomiku aj použitím "defektnejších" GPU jadier s menej CU/ alebo nutnosť nesmierne vysokej frekvencie, s ktorou má AMD problém a bohužiaľ tradične vysokú energetickú náročnosť AMD GPU. Čo s tým ?


AMD Radeon DNA alias RDNA

Ušetrím vás 6 hodinového rečnenia ala Fidel v Havane. Asi ste už počuli aké názvy dáva/dávala Nvidia jednotlivým generáciam GPU mikroarchitektrúry  - Tesla, Fermi, Kepler, Maxwell, Pascal, Volta, Turing. Nuž AMD tú svoju číslovalo  /GCN - Graphics Core Next/. Aktuálne je to GCN 5.0, po nej sa čakalo na NAVI grafiku /GCN ehm 6.0/. Skutočná zmena, celkové prekopanie malo prísť až potom, o rok/y neskôr. GCN má totiž mnoho obmedzení /limitný počet CU/SIMD, problém s behom na vysokej frekvencii, ešte väčší problém s energetickou efektivitou/.

Keď v tom zrazu .. boom, bez varovania  tu máme RDNA. Otázky. Ide v skutočnosti iba o rebranding GCN, ktorá namiesto poradového čisla šesť dostala skutočné meno ala Nvidia ? Má premenovaná GCN spolu s uvedením veľmi vydarenej tretej generácie Ryzen CPU vzbudiť dojem, že AMD má všetko "nové" a fresh. AMD tvrdí, že nie a ide vlastne o tú zásadnu zmenu GPU mikroarchitektúry, ktorá mala prísť až o 2 roky !!

Vyššie na obrázku vidíte /polopatisticky povedané/, že GPU s RDNA má v "hre" na rovnakom takte o 25% vyšši framerate a zároveň o 50% nižšiu spotrebu. AMD označuje PS5 GPU NAVI-RDNA za semicustom riešenie a pochvaľovali si úzku spoluprácu pri jeho dizajne s Mark Cerny, teda so SONY. Stále však neviem ako dostať do 100 wattov výkon NV 1080Ti alebo AMD Radeon VII. Pre porovnanie výkon GPU Xbox One X zodpovedá cirka NV 1060ke. Čakám trpezlivo na ďalšie info.

Čo vidím ako všeobecne nádejné je kompletné preracovanie mem subsystému RDNA GPU /nemýliť si s typom použitej RAM/, kde malo AMD tiež veľké rezervy. Podobný krok už v minulosti urobili pri prechode AMD CPU Bulldozer na ZEN. Po novom teda "zenofikáciou" prešla aj najnovšia GPU rada. Prečo tomu venujem extra malý odsek ? Práve táto časť GPU stojí za tým raytracingom /RT/ na NVidia GPU triedy Turing. Ten vlastne nemá nejaké špeciálne RT ALUs, výpočet beží na SIMD klasike ale s výrazne lepším manažmentom pohybu dát. Je to podceňovaná oblasť ale iks krát skúsenými progišmi zdôrazňovaná. Moc bez kontroly je ničim. PS5 nejaký ten raytracing zvládne, žiadne strachy, ide predsa len o budúcnosť grafiky ale až PS5 PRO v tom bude kráľ, celé to ešte musí dozrieť, maturovať ako keď sme zo softvérového renderingu prechádzali na akcelerátory rasterizácie /temný stredovek po 1999 roku  - ATI, Matrox, 3Dfx, PowerVR, S3, Rendition/.