Kajman ze severních ostrovů
…s parní komorou a osmou generací teselátoru – to vše v desáté generaci Radeonů. Marketing máme odbytý, můžeme přejít k technologické stránce...
Northern Islands v druhé vlně
O zmatcích kolem chystaných generací produktů jsem se rozepsal už minule, takže jen doplním pár detailů (na technologický rozbor čipu Barts se budu ještě mnohokrát odkazovat, takže pokud si myslíte, že dnešní článek zvládnete dočíst až do konce, doporučuji si nechat předešlý rozbor otevřený ve vedlejší záložce. Podle Davea Baumanna z AMD byl čip Barts od začátku plánovaný jako 40nm produkt, což jde ruku v ruce s rozhodnutím o tom, že čip ponese 32 ROPs (na 32nm by Barts nebyl dostatečně velký, aby se na jeho obvod vešla 256bitová sběrnice a kombinace 128bitové sběrnice s 32 ROPs by se současnými pamětmi postrádala smysl).
Cayman byl ale dlouhodobější projekt, takže jeho vývoj mohlo zrušení 32nm procesu poznamenat. V současné době nelze s jistotou říct, zda byla oproti původnímu plánu konfigurace čipu zredukována o nějaké SIMDs, zda nedošlo k úpravě samotné architektury, nebo zda čip nezůstal zcela beze změn a jen je prostě větší (což se jeví jako velmi pravděpodobná varianta – na 32nm by Cayman byl velký jako Barts, tedy kolem 260 mm2).
Blokový diagram čipu AMD Cayman – jádra grafických karet Radeon HD 6900
V tuto chvíli můžeme ale s jistotou říct, že množství změn, které Cayman přináší, je srovnatelné s čipy jakými byly RV770 (HD 4800) a R600 (HD 2900). Začátkem vyjmenuju jen ty nejmarkantnější:
- PowerTune – ochrana, regulace napájení a nástroj balance mezi spotřebou a výkonem
- VLIW-4 (4D) architektura výpočetních jednotek unifikovaného jádra
- EQAA – nový režim anti-aliasingu vycházející z možností nových ROPs
- plně paralelní zpracování geometrie (2× triangle setup, 2× teselátor, 2× rasterizér)
Pokud se podíváme na konkrétní konfiguraci čipu a porovnáme jí s konkrétními změnami, je z ní trochu cítit, že cílem AMD nebylo ani tak zvýšení teoretických čísel, jako spíš zvýšení efektivity formou lepší využitelnosti stávajícího potenciálu. Hrubý aritmetický výkon v single-precision se dokonce nezměnil vůbec.
Plocha jádra oproti čipu Cypress vzrostla jen o 16 % (na 389 mm2), což znamená, že hustota tranzistorů v jádře je ještě o pár procent vyšší, než u čipu Cypress: počet tranzistorů se totiž navýšil o 23 %. Kolik výkonu oproti HD 5870 se AMD podařilo 16% zvětšením jádra dosáhnout, najdete v naší recenzi, ale už je vám asi jasné, že výkon šel nahoru výrazněji než plocha čipu.
Detailní specifikace najdete v následující tabulce:
...a nejzajímavější rozdíly oproti čipům Cypress (HD 5870) a Barts (HD 6870) jsem opět vynesl do jednoduché tabulky (včetně procentuálních rozdílů:
Cayman | Barts | Cypress | |||
HD 6970 | HD 6870 | HD 5870 | |||
výrobní proces: | 40nm | 40nm | 40nm | ||
počet tranzistorů |
2,64 mld. | 1,7 mld. | +55 % | 2,15 mld. | +23 % |
plocha jádra | 389 mm2 | 256 mm2 | +52 % | 334 mm2 | +16 % |
frekvence | 880 MHz | 900 MHz | -2 % | 850 MHz | +4 % |
počet SPs | 1536 | 1120 | +37 % | 1600 | -4 % |
aritmetický výkon |
2,7 TFLOPs | 2,0 TFLOPs | +35 % | 2,7 TFLOPs | 0 |
počet TMUs | 96 | 56 | +71 % | 80 | +20 % |
texturing | 84,5 GTxl/s | 50,4 GTxl/s | +67 % | 68,0 GTxl/s | +24 % |
paměti | 1375 MHz | 1050 MHz | +31 % | 1100 MHz | +25 % |
kapacita paměti |
2 GB | 1 GB | +100 % | 1 GB | +100 % |
spotřeba 2D | 20 W | 19 W | +5 % | 27 W | -26 % |
spotřeba 3D | 190 W (TGP) | 151 W (TDP) | +26 % | 188 W (TDP) | +1 % |
max. PowerTune | 250 W | - | - | - | - |
Na první pohled asi každého trkne do oka, že už rozebíráme třetí >200mm2 čip od ATI/AMD, který je vyráběný na 40nm procesu. V současné době se začínají objevovat nepříliš dobré zprávy o možném odkladu 28nm procesu až na rok 2012 (!), ale zatím se mi této informaci nechce přikládat velkou váhu, protože je to prostě moc špatné na to, aby to mohla být pravda; v praxi by to znamenalo, že by AMD Cayman a Nvidia GF110 (Fermi „reloaded“) nemusely být poslední 40nm high-end produkty...
Teď se ale pojďme podívat do čipu a začneme s tím trochu netradičně...
PowerTune: spotřeba a teploty zcela jinak
PowerTune
Jednou z hlavních novinek čipu Cayman (skutečně se týká pouze tohoto čipu, nikoli celé generace HD 6000) je technologie PowerTune. Ze samotného názvu už je asi každému jasné, že půjde o něco, co souvisí se spotřebou, takže asi nebude nutné, abych hned vysvětloval, co to je, ale asi bude zajímavější začít tím, proč to je :-)
Na technologie upravující spotřebu grafických karet je už poměrně dlouhou dobu nahlíženo poněkud kontroverzním způsobem, protože co jeden uživatel považuje za přínosné, to jinému může vadit, nebo to v extrémním případě považovat za cheat.
Pokud se podíváme do minulosti, neřešila se dlouhá léta spotřeba grafických čipů nijak a ani výrobci se příliš nezatěžovali standardy, vzpomenout můžeme třeba na GeForce 4 Ti 4600, která si brala více, než specifikace AGP slotu doporučovaly, nebo nereferenční modely Radeonů 9800, které místo doporučeného napájecího 4-pin molex konektoru nesly pouze mini-molex (FDD molex), který se vypaloval, apod.
Medion Radeon 9800 – nereferenční karta s nedostatečně dimenzovaným konektorem přídavného napájení. Zdroj: - museo8bits.com -
Určitý pořádek nastolily specifikace PCI Express, kde byl zaveden standardizovaný konektor pro přídavné napájení – 6-pin, později i 8-pin. Slot nabízel až 75 W, 6-pin konektor dalších 75 W, 8-pin konektor 150 W, přičemž celkové maximum bylo stanoveno na 300 W.
Z druhé strany na výrobce tlačili uživatelé, kteří se dožadovali nižší hlučnosti (a tím pádem i nižší spotřeby) alespoň ve 2D. Zpočátku byla spotřeba řešena hlavně výrobním procesem (např. pro mobilní čipy, kde byla spotřeba klíčová, se využívaly dražší varianty výrobních procesů), případně můžeme vzpomenout i nasazení low-k dielektrika u 130nm výroby TSMC a Radeonů 9600 XT a X800.
Později ale tento (dá se říct pasivní) způsob řešení nebyl dostatečný a přišel další krok – úpravy taktovacích frekvencí v několika skocích (např. 2D / video / 3D), později i u pamětí a nakonec ještě v kombinaci s úpravami napájecího napětí, čímž bylo dosaženo velmi nízké spotřeby bez zátěže (dnes mluvíme zhruba o desetině spotřeby v zátěži).
Třetí problém nastal v okamžiku, kdy autor aplikace FurMark přišel na způsob, jakým grafický čip přimět ke spotřebě výrazně vyšší, než jakou vykazuje při zátěži reálnými hrami. Výrobci totiž dimenzují chlazení a napájecí obvody karet podle spotřeby, které je dosahováno reálně, nikoli teoreticky. A frekvence čipu bývají nastavené tak, aby v nejnáročnější z aplikací bylo dosaženo maximálně takové spotřeby, na kterou je dimenzované chlazení a napájení.
FurMark – aplikace navržená pro extrémní zatížení grafického čip. Zdroj: - ozone3d.net -
Jenomže FurMark dokázal většinu karet dostat o desítky wattů výš, a tak se výrobci začali bránit. Nvidia na úrovni ovladače detekovala poměr ALU:TEX instrukcí FurMarku a na jeho základě vkládala prázdné cykly, ATI detekovala FurMark jako aplikaci a prázdné cykly vkládala přes profil.
Tento přístup se změnil s vydáním předešlé generace Radeonů – HD 5000. U nich již GPU obsahovalo obvod, který vyhodnocoval teploty a proud napájecích obvodů, a pokud došlo z jakéhokoli důvodu k přetížení, přepnul se čip o jeden profil PowerPlay níže. Změnu provedla i Nvidia, která osadila na PCB GeForce GTX 580 obvod měřící aktuální spotřebu, který spolupracuje s profily aplikací – pokud je pro danou aplikaci nastavený limit spotřeby (např. pro FurMark), dojde po překročení tohoto limitu k sepnutí ochrany.
Čtvrtým problémem je spotřeba duálních karet. Nvidia si po mnoha generacích nemohla právě z důvodu spotřeby dovolit vydat duální kartu; ATI sice ano, nicméně na úkor velmi výrazně snížených frekvencí a kusové selekce GPU podle spotřeby.
Jak řešit nastavení frekvencí GPU pro dosažení TDP? Podle nejnáročnějších syntetických testů a přicházet tak o výkon ve hrách, nebo podle her a riskovat tak poškození karty v syntetických testech?
ATI se proto rozhodla k razantnímu kroku a namísto dosavadního přístupu obou firem (který se dá při nejlepší vůli popsat jako záplatování, nebo maskování příznaků problému) přišla s celkovým řešením, které (ač nejsem příznivcem superlativů) skutečně dosud nemělo obdoby. Celý systém je schován pod marketingovou samolepku „PowerTune“ a jeho vývoj a koncept stojí na několika jednoduchých faktech:
- dosavadní systémy ochrany proti přepětí/přehřátí reagovaly se zpožděním – až poté, co situace (přepětí, přehřátí) nastala = špatně
- pokud došlo k překročení spotřeby byť o 1 W (či teploty 1 °C), znamenalo to sepnutí ochrany (podtaktování o stovky MHz nebo prázdné cykly) a propad výkonu neadekvátní situaci, např. o 40 %, nebo víc = špatně
- frekvence grafických karet byly stanovovány tak, aby nebyla překročena stanovená hodnota TDP (/spotřeby), to znamená podle nejnáročnějších aplikací (obvykle syntetických testů) – což znamená, že ve hrách, kde často byly rezervy, neběžela karta na maximu a z hlediska spotřeby měla nevyužité rezervy (nutné kvůli nepřekročení TDP v několika syntetických aplikacích) = špatně
- ze stejných důvodů byl limitovaný i vývoj duálních karet
ATI k problému přistoupila z opačného konce. Než aby řešila důsledky variabilní spotřeby, vytvořila systém, který problémům předejde. Do GPU byl implementovaný procesor, kterému jsou každý cyklus reportována data o zátěži ze všech výpočetních bloků. Tato data procesor vyhodnocuje a na jejich základě je schopen určit maximální frekvenci, na které bude mít GPU požadovanou spotřebu.
Pokud by mělo dojít například k překročení hodnoty TDP o 2 %, sníží GPU o několik MHz svoji frekvenci, k problémové situaci nedojde, výsledný výkon není prakticky ovlivněn (oproti propadům o 30–40% vůbec ne) a karta pracuje vesele dál.
PowerTune: úprava frekvencí nemusí znamenat drastické skoky v počtech snímků za sekundu
Jelikož se není třeba obávat drastických propadů výkonu, je možné hodnotu TDP nastavit nikoli podle nejnáročnějších syntetických testů (se kterými si PowerTune poradí), ale podle reálných her, takže karta v rámci stanovené hodnoty TDP může běžet na vyšších defaultních frekvencích a tím zajistit vyšší herní výkon.
Pokud jste pochopili, jak PowerTune funguje, asi už vás napadlo, že díky němu může AMD vytvářet duální karty prostě tak, že pro PowerTune nastaví příslušnou hodnotu spotřeby, do které se karta musí vejít (např. 300 W) a výkon bude omezen jen do takové míry, aby v jednotlivých aplikacích nedošlo k překročení limitu. Nikoli jako v současné době, kdy výrobce může spotřebu ovlivnit pouze nastavením frekvencí, které jsou ve výsledku pro 90 % aplikací zbytečně nízké.
Nová verze Catalyst Control Center již PowerTune umožňuje regulovat, takže si krom přetaktování frekvencí můžete „přetaktovat“ nebo „podtaktovat“ i TDP hodnotu, v jaké má karta operovat (AMD se tradičně distancuje od možných škod způsobených jakoukoli formou přetaktování).
PowerTune: plynulá regulace frekvencí GPU pro udržení karty v limitu TDP a s maximálním
možným výkonem – včetně možnosti „přetaktování“ limitu.
Pro Radeon HD 6970 uvádí AMD „typical gaming power“ (typická spotřeba ve hrách, TGP) 190 W s tím, že v CCC si můžete 20 % ubrat či přidat – vše v rámci záruky, neboť napájecí obvody a chlazení byly dimenzované až na 250 W, což je zároveň oficiální limit pro PowerTune na této kartě. To také vysvětluje, proč karta nese 6-pin a 8-pin napájecí konektor, ač se při běžném použití spotřeba pohybuje na nižších úrovních.
Obdobně funguje i Radeon HD 6950, kde je TGP na 140 W a maximum pro PowerTune na 200 W.
PowerTune ve stručnosti:
- vyšší výchozí frekvence karty (bez PT by TDP muselo být zajištěno nižšími takty)
- funkční ochrana proti poškození karty přepětím
- pro funkčnost není třeba profil, připraveno i na možnost nových „škodlivých“ aplikací
- možnost uživatelsky přizpůsobit TDP limit v bezpečných mezích
- dosažením limitu TDP nedochází k drastickému propadu výkonu, ale jen nezbytně nutné úpravě frekvencí
- totéž platí pro limity teplotní (PT ve většině případů zabrání dosažení kritické teploty, po kterém by následovat throttling a propad výkonu)
- naděje pro duální grafické karty
Teselace a front-end (UTDP)
Teselace a front-end
Teselace v podání Caymanu byla oproti předešlé generaci vylepšena ve dvou směrech. Prvním z nich je efektivita a lepší distribuce dat, kterou AMD představila s čipem Barts (HD 6800, detaily v článku Radeony HD 6800 (Barts): architektura, technologie).
Druhá souvisí s rozdělením front-endu čipu a je v podstatě velkým evolučním skokem, jehož počátek byl patrný u čipu Cypress (HD 5800). Ten měl jako první čip ATI dva rasterizéry. Cayman rozdělil ještě triangle setup a teselátor, takže celá geometrie až po rasterizaci je zdvojena a prvně v historii ATI (AMD) mluvíme o plně paralelním zpracování polygonů na úrovni GPU. Díky tomu by mělo docházet i k efektivnějšímu využití obou rasterizérů a častěji dosahovat jejich optimálního vytížení (až 32 pixelů za takt).
Front-end čipu Cayman je rozdělený, geometrie i rasterizace jsou paralelizované
Zdvojnásobení hrubého geometrického / teselačního výkonu v kombinaci s lepší efektivitou, kterou přinesl Barts (HD 6800), AMD popisuje až jako trojnásobné zlepšení (2× hrubý výkon, 1,5× efektivita). V reálných hrách a aplikacích, které teselaci používají, by měly být nárůsty výkonu mezi 30–70% – uvidíme.
Teselační výkon: až 3× lepší v nejběžnějších situacích, 2× lepší v nejvyšších faktorech
V souvislosti s front-endem bych ještě rád zmínil jednu věc. V prezentacích předchozí generace produktů ATI/AMD nesprávně znázornila v diagramu čipu UTDP procesor. Ve srovnání čipu Cypress a Barts se UTDP zdál být u novějšího z čipů rozdělený. Dave Baumann z AMD tuto nepřesnost uvedl na pravou míru teprve po vydání čipu Barts – už Cypress měl UTDP rozdělený (nebylo to ale zachyceno v diagramu). Změny uvedené mezi čipem Cypress a Barts odpovídají.
Bohužel, chyby podobného charakteru jsou v oficiálních materiálech poměrně časté (naposledy to byly například chybné hodnoty TDP pro některé Radeony řady HD 5800, 5700 a 5600, případně frekvence texturovacích jednotek u GF100/Fermi), a tak není divu, že se vyskytnou i v řadě recenzí (tedy pokud se autor recenze zaměří na víc, než na překlady nadpisů oficiálních slajdů ;-).
Aritmetika: z 5D na 4D I.
Aritmetika
Cayman přináší nejvýraznější restrukturalizaci aritmeticko-logických jednotek (ALUs) od čipu R600 před čtyřmi lety. Než vysvětlím podstatu samotných změn, ujednotil bych terminologii, kterou budu používat v této kapitole. Aby bylo názorné, kdy mluvím o samostatných výpočetních jednotkách a kdy mluvím o skupinách, ve kterých jsou uspořádané, používal bych pro samotné jednotky termín SPs (streaming processors) a pro celou skupinu termín ALU (která se dříve pro celé bloky používala, ale dnes se tento termín běžně zaměňuje s SP).
Pro mnohé asi v tuto chvíli není překvapením, že se AMD rozhodla přejít o 5D ALU (pětislotové ALU, ALU složené z pěti SPs, VLIW-5) na 4D ALU. Nejprve se podíváme, proč k tomuto evolučnímu kroku došlo a následně co nového přinesl (a co starého odnesl).
Evoluce
Jako počátek architektury moderního aritmetického jádra ATI můžeme brát čip R300 (Radeon 9700). Ten měl ještě osm klasických pixel pipelines (což je v tuto chvíli vedlejší) a každá nesla dvojici mírně odlišných aritmetických jednotek (ALUs)
ALU čipu R300: vec3 MAD + scalar MAD, vec3 ADD/SFU + scalar ADD/SFU
Primární aritmetická jednotka se skládala z tříslotové (vektorové, vec3) části a jednoslotové (skalární) části. Důvod byl prostý, tento koncept byl určený především pro pixel shading, kde se často pracuje s barvou, tzn. R-G-B (vec3 část) a případně průhledností (alpha – obsadí skalární část). Primární ALU podporovala sčítání (ADD) a násobení (MUL).
Sekundární ALU (vpravo), též známá jako mini-ALU nebo SFU, special-function unit) byla rozložením obdobná, ale namísto násobení (MUL) podporoval transcendentals (speciální funkce jako sin, cos, log..., obvykle se značí zkratkou T). Podpora sčítání (ADD) zůstala).
Tento koncept zůstal bez zásadní změny poměrně dlouho a využívaly ho čipy (generaceú R300, R420, R520 a R580 (R300 měla těchto „pixel shader procesorů“ osm, R420 a R520 šestnáct a R580 celkem čtyřicet osm).
- ADD = addition, operace sčítání
- MUL = multiplication, operace násobení
- MAD = podpora obou operací (MUL+ADD) v jednom cyklu
- SFU = special function unit, jednotka zastávající další matemat. operace a konverze, např.:
- transcendentals = složitější matem. operace (cos, sin, log, exp); provádí je SFU
- T-unit = vžité označení pro pátou („tlustou“) SP architektury R600, R700, Evergreen a Barts, která prováděla standardní matematické operace i SF
První výraznější změna nastala s čipem Xenos pro herní konzoli Xbox 360. Xenos nesl 48 jednotek, které zastávaly i vertex shading (byly již unifikované), takže došlo na určitou změnu. Oproti R300 byl obě části primární ALU (vec3 + scalar) „scucnuty“ dohromady do vec4 jednotky a mini-ALU byla oproštěna o větší (vec3) část:
ALU čipu Xenos (Xbox 360): vec4 MAD + scalar MAD/SFU
Je zřejmé, že T-operace nebyly tak časté, takže je stíhala zastávat skalární část. Žádný grafický čip pro PC ale tento koncept nevyužíval – týkal se pouze Xboxu 360. S unifikací a zavedením geometry shaderu se opět požadavky trochu změnily. ATI se navíc rozhodla zlepšit a zefektivnit využitelnost ALU. Když se podíváte na ALU z Xboxu, je z ní valná část vektorová, což znamená, že když je prováděn výpočet, který zabral dva sloty, nemůže být zbytek vektorové části využit a přístupná je již jen skalární jednotka.
Proto se ATI s čipem R600 rozhodla vektorovou část rozdělit na skalární:
ALU čipu R600: 4x scalar MAD + 1x scalar MAD/SFU
To v praxi znamená, že dokud jsou instrukční sloty volné (a potřebujeme-li provést výpočet, který se do volných instrukčních slotů „vejde“), můžeme je využívat. Lze tedy provést najednou výpočty s hodnotami jako např. vec3 + vec2, nebo vec4 + skalár, nebo více skalárů a podobně. Jednotlivé skalární (zde konkrétně super-skalární) jednotky se začaly označovat jako streaming-processors (SPs). Všech pět SPs umělo sčítání (ADD) a násobení (MUL), pátá (znázorněna jako tlustá) navíc ještě T operace v jednom cyklu a některé další funkce.
Tato 5D super-skalární ALU byla výrazně efektivnější než starší vektorové jednotky. 5D uskupení bylo zvoleno z několika důvodů – bylo podobné, jako u Xenosu (takže kompilátor nevyžadoval tak extrémní změny), byla efektivní pro geometry shading a téměř se 100% efektivitou zvládala perlin noise – techniku, která se používala v profesionální grafice a která se pomalu začal šířit i do grafiky herní (nakonec až příliš pomalu, ale to by byla jiná kapitola).
Superskalární 5D ALU za určitých podmínek nebyla využita zcela efektivně. Můžeme si představit například kód se sledem operací s vec3 hodnotami, kdy budou stále dva sloty nevyužité, případně vzájemně závislé skalární výpočty, kdy druhý výpočet vyžaduje výsledek prvního apod., takže může být spuštěný teprve až první bude dokončen. To je ale obecně nevýhoda super-skalární architektury – na druhé straně tyto závislé výpočty nejsou běžné, takže se s nimi nebudeme dál zaobírat.
Ač jsme rozebrali základní rozdíly mezi jednotlivými architekturami a jejich výhody a nevýhody, stále z toho nevychází, že by 4D super-skalární ALU jako taková byla efektivnější, než 5D.
Podívejme se na rozdíly v rámci jednoho diagramu:
Pro lepší názornost jsem do diagramu doplnil i základní podporované operace a barevně vyznačil historický vývoj (zeleně pro základní ADD/MUL operace, žlutě pro transcendentals):
Zde se nabízí, že T-operace se používají méně a méně a tudíž nemá smysl držet pro jejich podporu samostatnou jednotku. Tato jednotka ale podporovala i základní sčítání a násobení, takže mohla být využívána i pokud se zrovna žádné T-operace neprováděly…
Aritmetika: z 5D na 4D II.
…budeme tedy muset jít ještě malinko hlouběji a vzít v potaz několik aspektů architektury, které z těchto jednoduchých diagramů nelze vykoukat, ale se kterými se dají snáze pochopit: T-jednotka je sice samostatná, ale z důvodu úspory tranzistorů sdílí porty pro čtení/zápis s ostatními. Pokud požaduje stejný operand, jako alespoň jedna ze čtyř zbylých SPs, je načten.
Jestliže všechny čtyři ostatní jednotky vyžadují jiný operand, musí čekat do dalšího cyklu, než bude mít volný port (a po tento cyklus zůstane nevyužitá). K tomuto „jevu“ může dojít ale jen za situace, kdy není prováděna T-operace, ale jen základní (ADD/MUL). Pokud jde o T-operace, jen T-jednotka využita primárně a tudíž má port k dispozici vždy.
Další situace, při které může T-jednotka negativně ovlivnit efektivitu je GPGPU (HPC) sféra. Jako první se nabízejí DP výpočty (výpočty s dvojnásobnou – 64bitovou – přesností). Pro jeden DP výpočet jsou použité čtyři základní SPs, zatímco T-jednotka (tlustá SP) lenoší. Z hlediska poměru výkon/tranzistor by pro DP výpočty tedy bylo vhodnější nevyužitou jednotku z čipu vynechat.
Při některých výpočtech (opět mluvím hlavně o profi sféře) se používají tzv. I2F či F2I instrukce. Ty slouží ke konverzi int a float (celočíselných a desetinných formátů). Tyto instrukce podporovala pouze T-jednotka, takže v situaci, kdy bylo potřeba více konverzí, na kterých závisel následný výpočet, čekaly čtyři základní SPs na to, až je T provede.
Aritmeticko-logická jednotka čipu Cayman: čtyři výpočetně rovnocenné SPs, pátá „tlustá“ SP vypuštěna
AMD se tedy rozhodla při vývoji architektury čipu Cayman T jednotku vypustit a její funkcionalitu rozložit mezi čtyři zbývající jednotky a to takovým způsobem, že:
- I2F / F2I konverze nyní podporují všechny čtyři SPs (tzn. až čtyřikrát vyšší výkon)
- T-operace nyní provádí trojice SPs (namísto původní T-jednotky)
- všechny SPs mají s nejvyšší pravděpodobností k dispozici vlastní port
- při DP je ALU využita 100% (výkon oproti SP tedy vzrůstá na 4:1 z původních 5:1)
- rekonfigurace vedla k o 10 % lepšímu poměru reálného výkonu na tranzistor
Samozřejmě jde v podstatě o jiné vyvážení kompromisů – jako celek je ovšem výhodnější. Jelikož jde o kompromis, má tato změna krom pozitiv i negativa. Příkladem může být ztráta dokonalé efektivity při realizaci techniky perlin noise (možné otestovat ve 3D Marku). To je asi největší extrém, na který můžeme narazit (v současné době je to asi 20 %, otázka je, zda to není ovlivněno rezervami kompilátoru – uvidíme časem, zda ovladače přinesou nějakou změnu).
Doplněno 17. 12.: Podle testů, které provedl uživatel Lightman z fóra Beyond3D (děkuji) skóre testu Perlin noise roste téměř lineárně s nastavením maxima pro PowerTune: při 20% navýšení je to zhruba 17,8% nárůst – to znamená, že limitace v tomto testu ze strany architektury ALU je řádově nižší, než se původně zdálo.
Značení jednotlivých slotů ALUs
Druhým příkladem negativního dopadu jsou T-operace. Ty zvládala T-jednotka v jednom cyklu, zatímco nyní je pro jejich realizací třeba použít tří ze čtyř SPs. Pokud si zbývající SPs označíme písmeny X, Y, Z a W (jak je zvykem), pak si realizaci T-operace na úrovni hardwaru můžeme představit podobně, jako realizaci skalárního součinu (dot product). „W“ není využita, výsledek vždy vypadne z „X“ a první část výpočtu provedou „Y“ a „Z“. Jednoduše řečeno, „Y“ a „Z“ provedou každá svojí část výpočtu, svůj výsledek (mezikrok) předají „X“ a ta z těchto dvou hodnot vyprodukuje finální výsledek.
Jelikož celou operaci namísto jedné jednotky v jednom cyklu provádějí tři jednotky v cyklu, zůstává namísto čtyř SPs potenciálně využitelných pro jiné výpočty jen jedna volná SP („W“).
Oficiální seznam zásadních změn v architektuře aritmeticko-logických jednotek
Zmíněná 10% úspora tranzistorů nevychází jen ze změny na úrovni ALU, ale i zjednodušení návrhu, datových cest a registrové paměti, na čemž pravděpodobně bylo ušetřeno více tranzistorů, než na samotných ALUs, které jsou velmi malé a jednoduché.
Osobně mám z této změny pocit, jakoby primárním cílem bylo zlepšit výkon v GPGPU, aniž by to negativně ovlivnilo poměr výkon/tranzistor při renderingu. Do jisté míry by to mohlo korespondovat se spekulacemi založených na analýze ovladačů AMD, ve kterých je implementována podpora pro několik čipů využívajících 5D architekturu, které ještě nebyly vydané. Zdá se, že se změnami u mainstreamu a low-endu, který není na GPGPU sféru zaměřen (a ani nepodporuje DP), není potřeba tolik chvátat, protože by přínosy nové architektury nebyly tak významné, jako v high-endu.
ROP, anizotropní filtrování
ROPs
Čip Barts, který se na trh dostal před sedmi týdny, nese stejně jako Cayman 32 ROPs. Podle AMD sice Barts k dosažení svého výkonu 32 ROPs nepotřeboval (stačilo by 16 v kombinaci s vyšším množství výpočetních jednotek), ale volba padla na 32 z toho důvodu, že implementace této varianty byla snazší (Cypress / HD 5800 měl taktéž jádro rozdělení na dva výpočetní bloky, přičemž každý blok měl přiřazen 16 ROPs). Barts tedy nese 32 ROPs, ale nemá takový výkon a tak rychlé paměti, aby je dokázal optimálně vytížit.
Skupina ROPs čipu Cayman – koncept zůstal podobný jako u předešlé generace
Pro Cayman proto nebylo třeba počet ROPs navyšovat, přesto po letech doznaly určité funkční úpravy. Základní specifikace zůstávají beze změny zhruba od RV770 (4× rychlejší Z/Stencil než práce s barvou + 4 MSAA vzorky v taktu), ale určité specifické operace jsou 2–4× rychlejší.
Jde hlavně FP32 operace s jedno- až dvou-kanálovými daty. Tato úprava pravděpodobně nestála prakticky žádné tranzistory; můžeme si jí představit podobně jako fetch-4 pro textury. V obou případech již máme hardware, který dokáže pracovat s jednou 4-kanálovou hodnotou v taktu (RGBA).
Trik je v tom, že stačí jen minimální úprava, aby stávající hardware mohl být využit pro práci se čtyřmi jednokanálovými hodnotami v taktu, nebo dvěma dvoukanálovými. Výpočetní jednotka, datové cesty i příslušná cache už v hardwaru jsou, takže podobné triky jsou poměrně levné. Na druhou stranu takový FP32 blending není nic extra rozšířeného, takže minimálně zpočátku bude přínos těchto změn ve hrách nižší.
Anizotropní filrace, optimalizace ovladačů
O texturovacích jednotkách se mnoho nedozvídáme, podle všeho jsou stejné, jako u čipu Barts. To v praxi znamená full-speed Int8 filtrace (1 texel/takt) a half-speed FP16 filtrace (0,5 texelu/takt) s anizotropní filtrací bez úhlové optimalizace a plynulejšími přechody.
Anizotropní filtrace Radeonů HD 6800 a 6900 přináší díky vhodnějšímu rozložení vzorků plynulejší přechody na problematických texturách
Detaily o filtraci textur asi nemá cenu opisovat – kdo má zájem, může se podívat do předchozího článku.
Ještě jednou bych se ale vrátil k tématu, které se netýká filtrace textur (ač si to často někteří uživatelé mylně myslí), ale bývá spojováno s kvalitou obrazu. Téma jsem již nakousnul ve článku o architektuře čipu Barts a je to optimalizace FP16 -> FP11 render target pro DX9 hry („FP16 demotion“, v CCC „surface format optimization“). V tomhle ohledu totiž úplně nesouhlasím s kolegou Mirkem Jahodou, který na situaci považuje za (řekněme) nesprávné, že o ní ATI/AMD neinformovala a dozvěděli jsme se od ní až od Nvidie.
V první řadě si myslím, že optimalizace, která nezpůsobuje žádné vizuální artefakty, nemusí být uživatelsky transparentní. Už samotný fakt, že uživatelé žádné negativní důsledky nepozorovali a o optimalizaci se začalo mluvit jen proto, že na ni poukázala Nvidia – nikoli proto, že by uživatelé nějaké problémy pozorovali.
Sseznam her z prezentace Nvidie, ve kterých je použit FP11 RT
Druhá věc je, že oba výrobci používají a dlouhá léta používali řady optimalizací, které určitým způsobem ovlivňují proces renderingu oproti tomu, jak byl implementován autorem aplikace a není zvykem, aby o každé takové optimalizaci informovali uživatele a zvlášť umožňovali její nastavení v ovládacím panelu. Ať už jde o změny, které zajišťují rychlejší anti-aliasing, nebo ho vůbec umožňují aktivovat, přes shader-replacement, pořadí některých kroků renderingu až po vlastnosti hardwaru, který u ATI i Nvidie určité operace provádí (nativně) s odlišnou přesností.
Nejznámější příklad je asi filtrace textur u R600 oproti G80, kde R600 vše filtrovala s FP16 přesností, ale s 5-bit subpixel-precision, kdežto G80 filtraci prováděla v Int8, ale s 8-bit subpixel precision. Jelikož oba výrobci mají odlišný hardware, který na různých úrovních podporuje odlišnou výpočetní přesnost a samotný proces renderingu uzpůsobuje ovladačem tak, aby danému hardwaru lépe vyhovoval, je FP16 demotion jen jednou z řady optimalizací, která oba výrobce odlišuje. Proto nevidím důvod, aby z hlediska uživatele měla právě tato být vnímána jinak, než řada ostatních.
Možná by se stálo zamyslet i nad principem, jakým byla kauza rozjeta. A to že výrobce, který ve svém ovládacím panelu vůbec neumožňuje deaktivovat optimalizace pro jednotlivé aplikace, zneužívá toho, že konkurence tuto možnost nabízí (položka Catalyst AI) a nabádá recenzenty, aby optimalizace konkurence „v zájmu fair-play“ vypínali.
Anti-aliasing: nový EQAA + mnoho dalších z minulých generací
Anti-Aliasing
Čip Barts (resp. jeho ovladač) přinesl podporu pro nový typ anti-aliasingu (MLAA), který nespočívá v přesnějších (či dodatečných) výpočtech během renderingu, ale v adaptivním zpracování vykresleného obrazu, kde určitým algoritmem vyhledává hrany, počítá jejich úhly, optimální vykrytí a nahrazuje je za hrany vyhlazené.
Jak jsem už v minulém článku zmiňoval, hlavní výhodou je široká kompatibilita a nevýhodou je zpracování skutečně celého obrazu, tzn. i případného textu, který je zachycen jako aliasing a zpracován taktéž, což může vést k horší čitelnosti různých popisků.
Princip morfologické filtrace: detekce hran, výpočet vykrytí podle úhlu hrany, prolnutí hranových pixelů
V době psaní předešlého článku ještě nebyly ovladače zcela vychytané a MLAA fungovalo pouze v některých DX9 hrách. V současné době funguje korektně ve všech DX9/10/11 hrách a dokončuje se podpora pro OpenGL.
Často diskutovaným tématem jsou dopady MLAA na výkon. Proces MLAA přidává k času potřebnému k vykreslení snímku ještě čas potřebný pro vyhlazení. Tento čas je téměř konstantní, to znamená, že když je framerate velmi vysoký, způsobí MLAA relativně větší propad výkonu, než když je framerate nízký. U velmi náročných her proto může být MLAA nejrychlejší formou anti-aliasingu.
MLAA – adaptivní morfologická filtrace
Nakonec ještě zmíním, že ač AMD uvádí kompatibilitu s ostatními režimy AA, nemá cenu MLAA s jakýmkoli jiným kombinovat (tzn. při zapnutí MLAA doporučuji vypnout všechny ostatní režimy), neboť murfologická filtrace již vyhlazeným hranám na kvalitě většinou nepřidá (spíše již hladké přechody matou algoritmus, který hrany vyhledává) a leckdy pak vypadají až rozpitě.
Další detaily o MLAA najdete opět v článku o architektuře čipu Barts.
EQAA
MLAA je podporováno u všech čipů generace HD 6000 (se zpětnou kompatibilitou k HD 5000), ale novinka nazvaná EQAA se týká pouze čipu Cayman (souvisí s upravenými ROPs).
EQAA - Enhanced Quality Anti-Aliasing – je novinkou pouze do určité míry. Možná se objeví nějaký čtenář, který si vzpomene zhruba na dobu 4–5 let zpět, kdy se vedly diskuse nad (tehdy) novým patentem ATI. Ten popisoval metodu anti-aliasingu, kdy se krom klasických MSAA vzorků používají ještě další vzorky, které slouží pro lepší vykrytí pixelu a jejichž nároky na paměť jsou zcela minimální. Všichni tehdy očekávali, že se tato technika objeví s čipem R600, ale jako blesk z čistého nebe ji přinesla ve vlastním podání Nvidia na čipu G80 (pod názvem CSAA) – později s vylepšenou kompatibilitu a bez artefaktů (vyřešen problém s transparentními texturami) na GF100 / Fermi.
ATI s R600 překvapivě zvolila podporu filtrů, zatímco anti-aliasing s podporou coverage samples (lze přeložit jako vykrývající vzorky) nechala na několik let u ledu.
Pokud preferujete zapnutí anti-aliasingu ve hře, zvolte možnost „enhance application settings“
a po aktivaci AA 4x v menu hry se automaticky použije namísto MSAA kvalitnější EQAA
Pokusím se vysvětlit výhodu EQAA (či CSAA) oproti klasickému MSAA. Výrobci bohužel nedodávají kvalitní technologickou dokumentaci, takže budu mluvit obecně. MSAA je technika, jejíž zásadní výhodou je komprimovatelnost, což znamená, že zásadním způsobem šetří paměťovou sběrnici. Co ovšem nešetří, je samotná paměť, protože před vykreslením snímku nikdy není předem jasné, kolik procent obrazu budou tvořit vyhlazované hrany, takže je třeba zaalokovat takové množství paměti, které by stačilo pro nejhorší možný scénář (ten nastává když každý MSAA vzorek leží na jiném polygonu).
Následující text vysvětluje na několika různých příkladech nároky anti-aliasingu na paměť v závislosti na různých faktorech. Pokud se tímto tématem nechcete zaobírat a zajímají vás až konkrétní přínosy, samotné režimy EQAA a vliv na výkon, můžete pokračovat až u obrázku želvy.
Začít můžeme s rozlišením 1920 × 1200 a hrou, která nevyužívá FP16 HDR, ale klasický nenáročný Int8 RT.
z-buffer = 1920 × 1200 × 32 = 8,8 MB
back-buffer = 1920 × 1200 × 32 = 8,8 MB
front buffer = 1920 × 1200 × 24 = 6,6 MB
celkem = 24,2 MB
To je velmi nenáročné, krom textur, vertex dat apod. tedy z grafické paměti na vykreslování potřebujeme jen 24 megabajt. Zapneme-li MSAA 8×, dostáváme se trochu jinam:
z-buffer = 1920 × 1200 × 32 × 8 = 70,3 MB
back-buffer = 1920 × 1200 × 32 × 8 = 70,3 MB
front buffer = 1920 × 1200 × 24 = 6,6 MB
celkem = 147,2 MB
To ještě pro většinu karet nebývá problém... ten nastává v okamžiku, kdy hra používá FP16 render target, tedy minimálně, co se karet s méně než 1 GB paměti týká...
z-buffer = 1920 × 1200 × 32 × 8 = 70,3 MB
back-buffer = 1920 × 1200 × 64 × 8 = 140,6 MB
front buffer = 1920 × 1200 × 24 = 6,6 MB
celkem = 217,5 MB
Například u 512MB karty tím pádem zbývá jen necelých 300 MB na textury. Řada nových her používá navíc multiple render targets, jejichž počtem se ještě prostor potřebný pro back-buffer násobí:
z-buffer = 1920× 1200 × 32 × 8 = 70,3 MB
back-buffer = 1920 × 1200 × 64 × 8 × 3 = 421,8 MB
front buffer = 1920 × 1200 × 24 = 6,6 MB
celkem = 498,7 MB
V takových situacích může začít docházet paměť i 1GB grafické kartě. Pokud bychom chtěli hrát na 30“ displeji ve 2560 × 1600, byli bychom téměř na 900 MB jen pro operační buffery a v konfiguracích jako je Eyefinity se třemi 1920 × 1200 displeji by to bylo kolem 1,5 GB (opět ještě plus textury). V případě dvou karet v CrossFire se šesti LCD jsou z toho 3 GB, jen to fikne :-)
Proč EQAA, nároky na výkon
Jednou z možností, jak zajistit rozumnější požadavky na paměť, je trochu zkrotit anti-aliasing. Pokud by bylo předem známo, že si scéna i přes AA 8× nevezme ty 3 GB, ale třeba jen 1,3 GB, mohla by být hra ještě hratelná na 2GB kartě.
Řešení může být prosté: nahradit polovinu MSAA vzorků méně náročným typem vzorku, který neobsahuje barevnou hodnotu, jen údaj o tom, ke kterému MSAA vzorku patří a zda leží nebo neleží na stejném polygonu (což pro vylepšené vyhlazení hran stačí). K tomu by měly stačit 4-bity (3 bity by určovaly, ke kterému MSAA vzorku náleží – 3 bity dávají prostor pro 8 možností, což odpovídá MSAA 8×– a 1 bit = zda leží na stejném polygonu nebo ne).
Rozdíl si můžeme ukázat třeba na situaci se šesti full-HD displeji:
s MSAA 8×:
z-buffer = 1920 × 1080 × 32 × 8 × 6 = 380 MB
back-buffer = 1920 × 1080 × 64 × 8 × 3 × 6 = 2280 MB
front buffer = 1920 × 1080 × 24 × 6 = 36 MB
celkem = 2696 MB
s AA 8× (mix MSAA 4× + 4× coverage samples):
z-buffer = 1920 × 1080 × 32 × 4 × 6 = 190 MB
back-buffer = 1920 × 1080 × 64 × 4 × 3 × 6 = 1140 MB
front buffer = 1920 × 1080 × 24 × 6 = 36 MB
coverage data = 1920 × 1080 × 4 × 6 = 6 MB
celkem = 1372 MB
Daná hra by na 2 GB grafické kartě byla s MSAA 8× vlivem nedostatku paměti prakticky nehratelná, ale s použitím techniky, která využívá „skladnější“ coverage samples by problém být neměl. V tomhle bych viděl největší přínos dané techniky.
Rrozložení vzorků EQAA oproti klasickému MSAA: pozice MSAA vzorků se nemění, pouze jsou pro lepší vykrytí přidány coverage samples
Osobně nejsem velký zastánce EQAA/CSAA, protože nejde o plnohodnotnou náhradu MSAA, ale pokud se prokáže, že funguje jak má a nezpůsobuje artefakty, bude mít jistě své místo zvlášť tam, kde se limitem může stát grafická paměť.
AMD možná očekávalo podobné reakce recenzentů, takže (prozíravě) výhody EQAA prezentuje jinak. Nikoli jako úsporné řešení, ale jako možné zvýšení kvality s minimálním dopadem na výkon. To je do jisté míry vychytralé, protože zlepšení kvality téměř bez dopadu na výkon nelze moc kritizovat :-)
AMD uvádí propady výkonu oproti základnímu MSAA v rozmezí zhruba 0–5 %, což není špatné a možná si vzpomenete, že pro tenhle interval dříve výrobci rádi používali pěkné označení „bez propadu výkonu“, které se ale v posledních letech z marketingových slajdů vytratilo.
propady výkonu při zapnutí EQAA oproti standardnímu MSAA: ve většině případů do 5 %
Množství coverage samples by údajně mělo být regulovatelné nezávisle na počtu MSAA vzorků, ale v současné chvíli je přístupný základní režim, kdy je počet MSAA vzorků doplněn vždy do dvojnásobku: Pokud si zvolíte EQAA 2×, je výsledkem anti-aliasing 4×, při MSAA 4× + EQ = 8×, MSAA 8× + EQ = 16×.
Na jedné straně je krásné, z jakého množství režimů si uživatel může vybrat, na druhou stranu může člověku zamyšlení nad nejvhodnějším režimem pro určitou hru způsobit bolení hlavy...
- MSAA 2×
- MSAA 4×
- MSAA 8×
- SSAA 2×
- SSAA 4×
- SSAA 8×
- MSAA 2× + narrow-tent (4×)
- MSAA 4× + narrow-tent (6×)
- MSAA 8× + narrow-tent (12×)
- MSAA 2× + wide-tent (6x)
- MSAA 4× + wide-tent (8×)
- MSAA 8× + wide-tent (16×)
- MSAA 4× + edge-detect (12×)
- MSAA 8× + edge-detect (24×)
- EQAA 2× (4×)
- EQAA 4× (8×)
- EQAA 8× (16×)
- + různé kombinace s AAA (pro transparentní textury)
- MLAA
- + řada CFAA režimů při použití CrossFire
HPC, GPGPU, paměťový řadič
HPC segment a paměťový řadič
Mnohé změny, které se vážou na profesionální sféru, jsem zmínil už v popisu unifikovaného jádra. AMD jako jednu z klíčových novinek uvádí možnost spustit na GPU paralelně několik programů (dosud bylo možné spustit pouze několik kernelů jednoho programu). Tato informace není na oficiálním slajdu zmíněna a Dave Baumann na ni upozornil v průběhu konferenčního hovoru 9. 12.
Zajímavá je i úprava paměťového systému; řadič nese dva obousměrné DMA enginy, jistých změn doznala i struktura využití cache, ale detailní informace ani srovnání s předchozí generací nejsou dostupné.
Distribuované výpočty – skóre v aplikaci Collatz@Home
Návrh karty: chlazení, výstupy…
Grafická karta
Chlazení a BIOS
Referenční návrh Radeonů HD 6950 a 6970 přináší hned několik pozitivních změn.
První novinkou je chladič založený na technologii vapor chamber, kterou asi není třeba představovat. V podstatě jde o jednu velkou plochou heatpipe, která odvádí teplo z jádra přímo na lamely chladiče. Omezuje se tím množství přechodů mezi materiály a zajišťuje rovnoměrný rozvod tepla do celé pasivní části chladiče.
Poblíž CrossFire konektoru nově najdete malý switch. Ten slouží k přepínání mezi BIOSem, který lze přeflashovat, a záložním BIOSem, který je chráněný. Pokud se vám při flashování cokoli pokazí, můžete snadno přepnout na zálohu a bez záložní grafické karty flash opravit. Nejde o novinku v pravém slova smyslu, ale doposud bylo toto vylepšení k dispozici pouze na některých luxusních modelech pocházejících z návrhu výrobců karet.
Výstupy a video
Výstupy karty a jejich schopnosti jsou pro dosavadní produkty řady Northern Islands stejné. Čip Cayman stejně jako Barts přináší DisplayPort 1.2 a HDMI 1.4a. Pokud jste četli článek o čipu Barts, můžete následující tři odstavce přeskočit.
DisplayPort 1.2
DisplayPort 1.2 podporuje technologii MultiStream, což umožňuje přenos signálu pro více monitorů přes jeden konektor. Pro využití této technologie je buďto třeba DisplayPort (MultiStream Transport) hub, nebo monitor podporující DaisyChain (tzn. že kromě vstupu má i výstup, ke kterému lze připojit další monitor, a tak dál). DP 1.2 je díky vysoké datové propustnosti vhodný i pro Stereo 3D zobrazení (120 Hz).
Díky DP1.2 je možné k obyčejné verzi karty (ne-Eyefinity6) připojit až šest monitorů.
HDMI 1.4a
Poslední revize rozhraní HDMI přináší podporu hlavně pro 3D video (podpora formátu frame-packing).
Referenční karty budou mít následující výstupy:
- 2× mini DP (DP 1.2)
- 1× HDMI 1.4a
- 1× DVI-I single-link
- 1× DVI-I dual-link
Video (UVD 3.0), ColorRemapping, zhodnocení
UVD 3.0
Po rodině Evergreen, která podporu přehrávání videa nijak výrazně nezměnila, došlo konečně na příjemný krok vpřed a rozšíření podpory akcelerovaných formátů videa. Nejpodstatnějšími změnami jsou:
- plná akcelerace MPEG-2 (oproti UVD 2.0 přibyl entropy decoding)
- plná akcelerace MVC (Blu-ray 3D)
- plná akcelerace MPEG-4 (např. DivX a Xvid)
UVD 3.0 v HQV benchmarku
ColorRemapping
Stejně jako u čipu Barts znamená UVD 3.0 i podporu technologie, která je schopna kvalitně přemapovat sRGB barevný prostor pro wide-gamut LCD, čímž předchází degradaci barev (známé přesaturované slité barvy. Pokud nám něco na příslušné stránce AMD neuniklo, tak tato zajímavá technologie je pořád ve fázi slibů.
Závěr
O architektuře grafických čipů bývá předčasné dělat nějaké závěry v době vydání. Nejen proto, že kvalitu architektury těžko prověří jediný produkt na ní postavený, ale i kvůli tomu, že nemůžeme brát v potaz dlouhodobé hledisko, vývoj ovladačů a jak si daný produkt povede v širším spektru aplikací.
V tuto chvíli lze říct pouze to, že se celkový koncept jeví jako povedený, neboť se podařilo dosáhnout lepší technologické výbavy (plus především pro zákazníka) a zároveň nezhoršit poměr výkonu na milimetr čtvereční čipu (který je důležitý primárně pro výrobce).
2 GB paměti ve standardní výbavě je poměrně odvážný krok na kartu, která má za cíl nabídnout zajímavý poměr cena/výkon, ale pro vysoká rozlišení, vysoký anti-aliasing, případně Eyefinity bude vliv větší paměti čím dál patrnější, byť ne v horizontu týdnů.
Technologie PowerTune má poměrně velký potenciál – uživatele může uklidnit, že kartě nehrozí spálení nějakou rizikovou aplikací, pro výrobce zase může znamenat nižší reklamovanost. Podobně tak i BIOS switch.
Přechod na čtyřslotové ALUs a související úpravy nakonec měly přínos i pro herní výkon, i když asi ne tak vysoký, jako v profesionálním segmentu (HPC). S vyšším nasazením DirectCompute (případně OpenCL) se ale tyto výhody postupně mohou začít promítat i v aplikacích pro koncové uživatele.