Diit.cz - Novinky a informace o hardware, software a internetu

Teselace, DirectX 11.1 a PCIe 3.0

AMD Radeon GCN Never Settle
Dnes v 6:00 hodin vydává AMD novou generaci grafických karet Radeon HD 7000 postavenou na zcela nové vektorově-skalární architektuře GCN. V dnešním článku si proto představíme všechny novinky a technologie, které grafický čip Tahiti z rodiny Southern Islands i samotný Radeonu HD 7970 přinesl…

Teselace

Téma teselace bylo mnohokrát rozebírané v souvislosti s Radeony HD 5000, ale po vydání šestitisícové řady diskuse poměrně utichly. Radeony HD 6000 přinesly jednak upravený front-end čipu (GPU Barts), a pak možnost použití více - konkrétně dvou - inovovaných teselátorů. Alespoň podle rozdílů v dosavadních hrách se zdá, že větší praktický  rozdíl přinesl upravený teselátor (HD 6800) oproti původnímu (HD 5800) než použití dvou (HD 6900) oproti jednomu (HD 6800). I proto možná AMD upřednostnila vyřešení efektivity než implementaci dalších teselátorů.

AMD Radeon HD 6970 referenční
Radeon HD 6970 oproti svým předchůdcům přinesl paralelní zpracování geometrie,
architektura GCN ho dále rozvíjí

Implementace architektury GCN vypadá velice slibně, neboť AMD vyřešila prakticky všechny slabiny, za které se jí dostalo kritiky. Hlavních změn je hned několik:

  • přepracovaný algoritmus pro opětovné použití vrcholů (vertex re-use), který vychází z patentované technologie AMD
  • zlepšení kapacity on-chip (ale i off-chip) bufferů
  • zdvojnásobená parametrová cache (ta je určena pro uchování barvy, texturových souřadnic atp. pro každý vrchol) společně s novým algoritmem minimalizujícím duplikaci dat
  • pro nižší faktory teselace je možné držet data na úrovni čipu, případně mohou přetéct až na úroveň L2 cache; domain shading může být redistribuován i mezi ostatní jádra

AMD ohledně detailů popsaných změn nebyla příliš sdílná a obzvlášť třetí bod není zcela jasný. Patrně jde o situaci, kdy teselátor vygeneruje určitý vertex vícenásobně jak prochází teselací vstupního troj- (nebo čtyř-) úhelníku. Každá instance zmíněného vertexu bude vyžadovat vygenerování příslušných parametrů (barvy, normála, texturové souřadnice…) doménovým shaderem. Tato data dále pokračují do cache vertexových parametrů, kde na jejich základě může začít pracovat pixel shader. Více instancí identických dat samozřejmě zbytečně přeplňuje tuto cache.

AMD proto přišla s nějakým řešením, jak duplicity odhalit a odstranit. V podstatě existují dvě základní možnosti. Buďto je detekovat už na výstupu teselátoru, což by šetřilo nejen parametrovou cache, ale i výkon doménového shaderu - na druhou stranu takové řešení by asi bylo náročnější. Nebo duplicity vyřazovat při (nebo po) realizaci domain shaderu. V současnosti můžeme jen spekulovat, kterou cestu AMD zvolila.

GCN teselace graf

Výsledkem všech popsaných úprav je až čtyřnásobné zlepšení oproti tomu, čeho dosahoval čip Cayman - Radeon HD 6970. V reálných hrách je samozřejmě rozdíl nižší, protože teselace je jen jedním z řady faktorů, na kterých výsledný framerate záleží. Přesto jsou výsledky poměrně zajímavé:

GCN teselace testy

DirectX 11.1

Architektura GCN a všechny produkty na ní postavené podporují DirectX 11.1. AMD to zatím zmiňuje jako holý fakt a nezdůrazňuje žádné konkrétní výhody, které soubor nových API přinese uživateli. Je to dáno hlavně tím, že DX 11.1 bude uvedené teprve s operačním systémem Windows 8 (zřejmě podzim / zima 2012), což je ještě relativně vzdálená budoucnost.

GCN DirectX 11.1

Z oficiálně známých novinek verze 11.1 můžeme jmenovat například nativní podporu pro stereo 3D zobrazování, shader tracing (analytický nástroj pro vývojáře), zrychlení softwarového rasterizéru WARP, lepší spolupráce Direct3D a MediaFoundation (možnost napojení výstupu video API na pixel shader), návrat cap bits (značky ohlašující podporu různých hardwarových vlastností - zrušené při zavedení DirectX 10 z důvodu sjednocení a zjednodušení, opětovné zavedení s DirectX 11.1 zejména kvůli podpoře specifických grafických čipů mobilních SoC). Nemá smysl vyjmenovávat všechny rozdíly - výčet najdete na oficiálních stránkách Microsoftu:

V tuto chvíli je pro nás důležité, že Direct 3D 11.1 kód by měl být realizovatelný i na Direct 3D 11 grafické kartě - může to však být na úkor výkonu. Můžeme očekávat podobnou situaci, jako v případě DirectX 8 / 8.1 a DirectX 10 / 10.1.

PCI Express 3.0

S PCI Express 3.0 to je v současnosti podobné jako s DirectX 11.1. Ačkoli jde o novou technologii, praktický význam z krátkodobého hlediska není velký a zřejmě se projeví až s využitím technologie PRT nebo při specifickém GPGPU nasazení (pokud samozřejmě nebudeme počítat low-endové uplatnění v podobě HyperMemory, kde by se význam mohl projevit rychleji). Specifikace PCIe 3.0 mluví o oboustranné zpětné kompatibilitě (stará platforma + nová grafika / nová platforma + stará grafika).

GCN PCIe 3.0

Hlavním přínosem oproti verzi 2.0 je zdvojnásobená přenosová kapacita (v obou směrech), ale v současné chvíli se tato sběrnice spíš než na přenos dat používá jako mocný marketingový nástroj, kterým výrobci s chutí pletou zákazníkům hlavy. Po hardwarové stránce je PCIe 3.0 zatím k dispozici pouze na vybraných konfiguracích platformy Intel, AMD podporu chystá.

Zdroje: 

AMD Tech Day, Mnichov (8. prosince)

Diskuse ke článku Vše o Radeonech HD 7000 aneb architektura GCN detailně

Pátek, 23 Prosinec 2011 - 08:27 | Pety | Ježiš, jak rád sem chodím v posledních dnech......
Čtvrtek, 22 Prosinec 2011 - 22:46 | no-X | díky za upozornění, opraveno
Čtvrtek, 22 Prosinec 2011 - 22:31 | Peter T | zly link na konci 3. stranky (Spotřeba grafických...
Čtvrtek, 22 Prosinec 2011 - 20:34 | David Ježek | to není novinka, Jirka používá ST postavy od...
Čtvrtek, 22 Prosinec 2011 - 18:43 | DDR0 | krásný článek, ale nejvíc mě dostala ta změna...
Čtvrtek, 22 Prosinec 2011 - 15:15 | no-X | To je sice oficiálně pod NDA, ale když nyní vyšel...
Čtvrtek, 22 Prosinec 2011 - 14:44 | Slavomir | A čo bude teda toho 9. ledna? :-)
Čtvrtek, 22 Prosinec 2011 - 12:12 | del42sa | v těch plusech jsi ještě zapoměl vypsat podporu...
Čtvrtek, 22 Prosinec 2011 - 12:09 | Peter Fodreknickfotob | >S PCI Express 3.0 to je v současnosti podobné...
Čtvrtek, 22 Prosinec 2011 - 12:01 | Lukáš Kohout | Super, to vypada za AMD dala na reakce recenzentu...

Zobrazit diskusi