Úvod pátého dílu
V tomto díle jsme se rozhodli trochu experimentovat s formou článku. Ten tentokrát nebude členěn striktně chronologicky, namísto toho se na grafické karty podíváme z různých pohledů.
V první kapitole se podíváme, jak se během let 2003 až 2005 spolu s rostoucí spotřebou výkonných grafických karet vyvíjely jejich referenční chladiče. Další kapitolu věnujeme hrám, které ve své době byly technologicky na výši, hojně se v nich testovalo, které nechávaly vyniknout nejvýkonnějším GPU své doby a které byly důležité v nákupním rozhodování mnoha hráčů. Krátkou kapitolu věnujeme dvoučipovým kartám a nakonec si povíme něco o průkopnických počátcích využití grafických jader k všeobecným výpočtům a akceleraci herní fyziky.
Trnitá cesta chlazení
Grafické karty před deseti a více lety vypadaly docela odlišně než dnes. Tištěný spoj býval prakticky holý, pouze na samotném grafickém čipu býval malý větráček, malý kovový pasiv přesahující i na paměťové čipy byla už docela nóbl záležitost. Grafické akcelerátory tehdy neprodukovaly tolik odpadního tepla, aby se chlazením někdo musel tolik vážně zabývat. Hlučnost tehdy také nikomu na srdci příliš neležela, větráky běžely na stále stejných otáčkách. Kdo chtěl, mohl si koupit pasivně chlazenou kartu, v tichém provedení Ultimate od Sapphire byl k mání například Radeon 9600 XT, ale i Radeon 9800 Pro a později i X800 XL.
Radeon 9600 XT v edici Sapphire Ultimate, zdroj: X-bit labs
Referenční křiklouni, vysavače a tichošlápci
Přesto ne všechny karty s aktivním chladičem byly hlučné, jak by se mohlo zdát na první pohled a z dnešních archeologických vykopávek. Dokud větráčky byly ještě nové, nezanešené prachem, neměly opotřebovaná ložiska a za předpokladu, že neběžely na příliš vysokých otáčkách, nikomu uši neutrhly. To platilo třeba o Radeonu 9550 z dílny Asusu, jehož jsem byl majitelem, ale vůbec ne o Radeonu 9800 Pro.
Radeon 9800 Pro 128MB v referenčním provedení, zdroj: Digital Daily
(v článku naleznete i zmíněné pasivní provedení od Sapphire a testy výkonu proti GeForce FX 5900 Ultra)
Ten byl dodáván se dvěma verzemi referenčního chladiče. První varianta je vyobrazená výše, ta druhá měla pasiv ve tvaru písmene L, tento či podobný chladič používaly také Radeony X700, některé X800 SE a později X800 s jádrem R430 (viz bit-tech.net). Ten druhý byl snad ještě horší než ten první. Legendou mezi chladiči grafických karet je ale jednoznačně „FX Flow“, jak Nvidia pojmenovala fén na GeForce FX 5800. Nemýlím-li se, šlo o historicky první referenční chladič grafické karty zabírající dva sloty.
GeForce FX 5800 Ultra, zdroj: PCGamesHardware
Jako by nestačilo, že FX 5800 v testech nedokázala překonat konkurenční Radeony, mnoho posměchu si vysloužila právě za svůj chladič, který si vysloužil přezdívku „Dustbuster“, tedy vysavač. Karta sice uměla přepínat mezi 2D a 3D takty, přičemž ve 2D i větrák běžel na nižších otáčkách, přesto však byl velice hlučný. Pro srovnání formou videoklipů zamiřte na server Anandtech, který tehdy GeForce naměřil v zátěži 77 dBA oproti 64 dBA u Radeonu 9700 Pro.
GeForce FX 5900 Ultra (dole) a FX 5950 Ultra (nahoře), zdroj: Firingsquad
Nvidia se poučila a u GeForce 5900 Ultra použila chladič konvenční stavby. Karta s čipem NV35 byla i výkonnější a Radeonu 9800 Pro v testech směle konkurovala. Recenzenti hodnotili chladič kladně, i druhá verze vysavače na GeForce FX 5950 Ultra se setkala s celkem pozitivní odezvou. Zde stojí za zmínku, že chladič nefoukal směrem ven, nýbrž zvenku nasával studený vzduch.
Radeon 9800 XT (dole) a X800 XT (nahoře), zdroj: HardwareAnalysis
(Všimněte si starého a nového loga ATI)
Ještě zdařilejší chladič měl Radeon 9800 XT, podobné později používaly Radeony X800 Pro/XT. ATI zde použila axiální ventilátory, které jsou sice pro nahánění vzduchu v horizontální rovině méně vhodné, zato ale tišší než ventilátory radiální, jaké vidíte na předchozí fotografii.
Radeon X1800 XT a GeForce 7800 GTX 512MB, zdroj: The Tech Report
Najednou to ale byla ATI, kdo začal osazovat grafické karty (počínaje Radeony X850 Pro/XT) „vysavačem“; na obrázku výše vidíte jeho pozdější verzi, kterou používaly modely X1800 XT, X1900 XT/XTX a X1950 XT. Na rozdíl od GeForce FX 5900 Ultra ale tento vyfukoval horký vzduch ze skříně. K tichým chladičům se ale neřadil. Lze-li soudit podle exempláře, jehož jsem byl majitelem, kromě aerodynamického hluku motorek ve vyšších otáčkách vrčel.
Referenční chladiče Nvidie z období GeForce 6 příliš zajímavé nejsou, jednalo se o různé variace plochého pasivu a větráku, který jím proháněl vzduch směrem do skříně. Velmi zdařilým počinem byl ale chladič na fotografii výše. Pokud jej znáte, znáte jej nejspíše z GeForce 7900 GTX, objevil se ale o pár měsíců dříve na GeForce 7800 GTX 512MB.
Kromě toho, že karta nesla dvojnásobek paměti oproti již existující 7800 GTX, běželo její jádro (stále G70) na 550 MHz namísto původních 430. Na jádře bylo vytištěno označení 7800-U, pojmenování Ultra ale Nvidia nepoužila ze dvou důvodů. Jednak byl zásluhou GeForce 6800 Ultra tento přídomek synonymem nedostupné karty (což, jak jsem se zmínil v předchozím díle, byla „GTX-512“ tak jako tak), jednak Nvidia už dříve řekla svým zákazníkům, že žádný vyšší model než GTX nebude, aby tedy nečekali a kupovali (ještě by si to po příchodu konkurence mohli rozmyslet).
Čip G71, který používala GeForce 7900 GTX, měl při zachování počtu funkčních jednotek dokonce méně tranzistorů než G70, což společně s novým 90nm postupem zajišťovalo na poměry high-endové karty nízkou spotřebu a naddimenzovaný chladič byl zárukou tichého provozu.
Radeon X1950 Pro
Přibližně od té doby toho ATI a Nvidia v oblasti referenčních chladičů příliš mnoho nevymyslely. Drtivá většina z nich, ať už jednoslotových nebo dvouslotových, má větrák někde nad napájecími obvody a vzduch je hnán směrem k zadní záslepce, nebo (v případě dvouslotových chladičů) skrz ni ven. Chladiče na GeForce GTX 590 a GTX 690 připomínají výše zmíněný model z GeForce 7800 GTX 512MB, nyní to ale dává větší smysl, neboť každý pasiv chladí jeden ze dvou čipů.
Starý dobrý Arctic Cooling a doba měděná
Legendární Arctic Silencer
Vyjma pasivně chlazeného Radeonu hned v úvodu jsme se zatím věnovali jen referenčním kartám. Samozřejmě existovala i jiná provedení. Nebyla tolik rozšířená jako dnes, kdy referenční kartu téměř nekoupíte, ale výběr byl i tak bohatý – pouze high-endové karty se držely standardních návrhů.
Zmínil jsem se, že v pasivním provedení existoval třeba Radeon X800 XL, ze zelené stáje pak GeForce 7800 GT. O pasivních kartách ale platilo prakticky to samé, co dnes – potřebovali jste na ně mít dobře větranou skříň. Už tehdy samozřejmě existovala řada samostatně prodávaných chladičů od firem jako Zalman, Primecooler nebo Arctic Cooling.
Mezi fanoušky byly velice oblíbené chladiče Silencer od poslední jmenované firmy. Výše popsanou koncepci s větrákem „vepředu“ a vyfukováním horkého vzduchu ven, ke které se referenční chladiče dopracovaly až kolem roku 2003, nabízel Arctic už v roce 2003. Kdo se nechtěl vystavovat riziku, že kartu při výměně chladiče poškodí, mohl si ji koupit se Silencerem už z továrny, nabízela je tehdy firma HIS pod obchodní značkou IceQ a též Sapphire na edicích Toxic.
Radeon X800 s chladičem AC ATI Silencer 4, zdroj: iXBT Labs
Kariéra Silenceru bohužel skončila s rokem 2005, pro GeForce 7 ani Radeony X1800/X1900 už Arctic novou verzi chladiče nevydal. Na důvod byste možná přišli i sami. Původní VGA Silencer byl sice do jisté míry univerzální, později ale u výkonnějších karet začalo být zvykem chladit i paměti a případně napájecí obvody. Pro každou novou kartu (přesněji řečeno PCB) tak musela být navržena nová verze chladiče. Pak stačila drobná změna a kondenzátor či heatsink vystupující z původního profilu, a chladič už nepasoval. HIS ještě v roce 2006 prodával Radeony X1800 s chladičem nápadně připomínajícím Silencer, ten se ale samostatně neprodával – pravděpodobně si jej HIS nechal vyvinout na zakázku jen pro své karty.
Arctic Cooling se ještě blýskl s chladiči Accelero S1 a menší S2. Ty se v prakticky nezměněné podobě prodávají dodnes (někdy od roku 2006 nebo 2007) a cena je snad ještě příznivější, než tehdy. Za pár stokorun uchladí Accelero S1 pasivně i karty s TDP nad 100 W. Ze stejné doby (vydán byl na podzim 2006) pochází i učiněný klenot mezi chladiči grafických karet, též pasivní Thermalright HR-03.
Doba měděná a Leadtek
Společnost Leadtek dnes už nepatří mezi přední výrobce grafických karet, v letech GeForce FX až 7 tomu tak však bylo. A Leadtek obyčejně nepoužíval referenční návrhy společnosti Nvidia, nýbrž si někde sehnal větráčky jiné a většinou díkybohu lepší. Prachový filtr na GeForce FX 5700 kupodivu neznamenal nějak vyšší hlučnost ventilátoru (s větším průměrem než měl referenční prcek), pozdější „ježci“ na GeForce 6600 se dali i označit za tiché chladiče.
GeForce FX 5700 Ultra a FX 5700 (bez Ultra) v podání Leadteku
Později se Leadtek u highendových GeForce rozhodl nahradit fén připomínající chlazení Nvidie mohutným měděným pasivem s větrákem uprostřed. Karty se svou hmotností začaly nebezpečně blížit tři čtvrtě kilogramům a navíc byla masa soustředěna jen na malém prostoru PCB.
![Novodobá historie grafických karet](https://i.iinfo.cz/images/642/380_winfast_a380_2_bjorn3d.jpg)
Leadtek GeForce FX 5950 Ultra. Zdroj: Bjorn3D
Měď, či alespoň zlatá barva chladičů byla jednu dobu v oblasti chlazení PC komponent velmi populární (kdo si dnes vzpomene třeba na Titan M1AB), svou zlatou éru si prožilo i MSI. Obarvené hlinikové (jestli se nepletu) vějíře u grafických karet však byly proti kreacím (šnek, horská dráha apod.) na základních deskách ještě relativně decentní.
Hry, které hýbaly světem
Pravěk: Turok, 3× Quake, Unreal…
Hry, kvůli kterým se se kupoval hardware, nejsou samozřejmě v 21. století. Svoje nezapomenutelné tituly měly téměř všechny osmibitové počítače, spousta lidí ještě dodnes někde přechovává Commodore 64 či Amigu a úsvit 3D akcelerátorů na PC přinesl celou řadu takových titulů. Mnohými z nich bylo však poprvé možné porovnávat také výkon počítačů a staly se prvními zástupci softwaru, jakým se budeme v této kapitole zabývat.
Zdroje obrázků: Moby Games, iXBT Labs
2004: Far Cry
První produkt německého studia Crytek běžící na jejich vlastním engine CryEngine měl krásnou grafiku a dobře se hrál. Far Cry také jako jedna z prvních her používala DirectX 9.0c, tedy Shader Model 3.0. Crytek ale podporu implementoval jako chytrá horákyně: použité instrukce ze SM 3.0, které byly přidány až v patchi 1.2, majitelům GeForce 6 mírně zvyšovaly výkon, kvalita obrazu ale zůstala stejná jako na kartách podporujících jen SM 2.0 (to jest GeForce FX a všechny tehdejší Radeony >9500).
2004: Doom 3
Doom 3 společně s později vydaným Quakem IV, který používá stejný engine, byly pro recenzenty zajímavé mimo jiné proto, že hry od Carmackova id Software jako jedny z mála používaly grafické API OpenGL. Jestliže GeForce tehdy za Radeony v průměru (udávaném hlavně testy v Direct3D) zaostávaly, pak v OpenGL byla situace opačná. Koncem roku 2005 s tím ATI konečně ve svých ovladačích něco udělala, zejména Radeony X1800 před tím ale podávaly v OpenGL výkony doslova tristní. Dokumentuje to například test TrustedReviews z října 2005.
2005: F.E.A.R.
F.E.A.R. vyšel krátce po Radeonu X1800 XT a byl tehdy asi nejnáročnější hrou, ve které se novinka od ATI dala srovnávat s již vydanou GeForce 7800 GTX. Grafické karty drtily hlavně měkké stíny (soft shadows), tehdy implementované tak, že objekty vrhaly namísto jednoho stínu několik navzájem mírně posunutých stínů. Kromě toho měl ale F.E.A.R. na svou dobu velmi propracované „particle effects“ (odletující částečky), nepřátele, jejichž těla jste mohli rozstřílet na cucky, a pokud si to nepletu s jinou hrou, také tetelení vzduchu nad ohněm. Část z toho zásluhou fyzikálního enginu Havok FX.
2006: 3DMark06
Jestliže 3DMark je dnes jen jakýmsi doplňujícím testem, recenzenti na něj příliš nekoukají a setkáváme se s ním hlavně tehdy, když se nějakému Asiatovi poštěstí jako prvnímu otestovat dosud oficiálně nevydanou kartu, dříve měly benchmarky od firmy Futuremark poměrně velkou váhu. Verze 2001, 03 i 05 dokázaly soudobé grafické karty seřadit přibližně tak, jak by to vyšlo ze sestavy více her. Ve 3DMarku06 se ale začaly dít věci. Řada hráčů mu například neřekla jinak než „NVMark06“.
Verze roku 2006 používala některé testovací sekvence totožné s 3DMarkem05, nově ale využívala i shader model 3.0, HDR osvětlení a textury ve formátu FP16 (ve hrách tehdy ve výrazné menšině), které více seděly GeForce 6 a 7, takže karty Nvidie dopadaly relativně lépe než v 3DMarku05.
3DMark06 běžel i na starších Radeonech, které SM 3.0 nepodporovaly, za část testů ale dostaly nula bodů a byly tak nesmyslně penalizovány. Tou dobou sice tyto karty byly zastaralé a doprodávaly se, srovnání s předchozí generací bylo ale pro hráče důležité a na Radeonech X800/X850 s 16 pipelines jste si tehdy stále zahráli lépe než třeba na GeForce 6600 GT nebo 7600 GS, kterým 3DMark06 přisoudil více bodů.
Jestli byl 3DMark06 úlitbou Nvidii, pak byl ještě dvakrát takovou úlitbou výrobcům procesorů, kteří v roce 2005 přišli na trh s dvoujádrovými procesory a potřebovali u hráčů vyvolat tíživou potřebu k jejich nákupu. 3DMark06 tak do výsledného skóre povinně započítával i výsledky testu CPU, což z benchmarku udělalo kompletní frašku. Tehdy byla dvě jádra na hry stále víceméně k ničemu, navíc byla dvoujádra poměrně drahá a za stejnou cenu jste mohli mít rychleji taktované single-core, které ve hrách odvedlo lepší službu. Ve 3DMarku06 to ale vycházelo naopak. A zatímco výsledky 3DMarku05 z různých sestav byly jakž takž srovnatelné (slabší či silnější procesor v testu zaměřeném na grafiku moc velký rozdíl neudělal), všechna skóre 3DMarku06 byla kontaminována a s reálným výkonem ve hrách (které jsou citlivé hlavně na grafickou kartu a méně na procesor) měla pramálo společného.
2006: The Elder Scrolls IV: Oblivion
Oblivion byl prodejní hit, který sliboval desítky (ne-li stovky) hodin zábavy. Existovala pro něj obrovská škála komunitních přídavků a modů, které vylepšovaly uživatelské interface nebo grafiku (známý byl např. Qarl's Texture Pack, kterému i 512 MB paměti na tehdejších nejvýkonnějších kartách bylo těsných), nebo přidávaly do hry nové předměty či questy. Gigantické mody jako Oscuro's Oblivion Overhaul pak hru měnily úplně k nepoznání.
Kromě toho to ale Oblivion dokázal už v základu grafické karty hezky potrápit a málokdo pochyboval o tom, že tento titul značí cestu do budoucna. Hra používala v hojné míře prvky shader modelu 3.0, takže se v některých lokacích projevily výhody Radeonu X1900 (R580), který měl oproti X1800 (R520) trojnásobek pixel shaderů (zbytek čipu zůstal víceméně nezměněn). Důvod ke zlosti měli ale především majitelé GeForce 7. Oblivion totiž používal implementaci HDR osvětlení, která na kartách Nvidie nefungovala společně s vyhlazováním hran. Na Radeonech to zpočátku také nefungovalo a zprovozněno bylo přibližně měsíc po vydání hry tzv. „Chuck patchem“. Jeho autor, vývojář ovladačů u ATI známý jen svým křestním jménem, si za to vysloužil online petici „kupte Chuckovi Ferrari“.
Oblivion dokázal potrápit grafické karty i několik let po svém vydání, testováním v něm je však náročné a nepřesné, neboť neexistuje možnost automaticky spouštěných sekvencí.
2007: Lost Planet a Call of Juarez
Když koncem roku 2006 vyšly GeForce 8800 s podporou DirectX 10, ještě neexistovaly hry, které by možnosti nového API využily. Lost Planet nebyl první takovou, ale přesto jí bylo věnováno více pozornosti, než předchozím titulům, které se nálepkou DX10 mohly chlubit – díky tomu, že DX10 používal už při vydání, zatímco ostatní hry dostávaly dodatečné patche.
V reálu bylo celkem jedno, jestli vývojáři implementovali DX10 „aby se neřeklo“ formou patche na již vydanou hru, nebo něco podobného provedli již s téměř hotovou hrou a pak ji teprve vydali. Mezi uživateli ale tehdy kolovala rozšířená představa o „pravých DX10 hrách“. Abyste pochopili, proč lidé tomuto bludu masově věřili, uděláme si malý historický exkurz.
GeForce FX 5900 dokázala s Radeony 9800 soupeřit, dokud ještě většina her používala DirectX 8.1, jakmile ale přišly „pravé DX9 hry“, ukázaly se výhody architektury R300. Z mladší doby měli hráči ještě lepší příklad. V lednu roku 2006, v tehdejších hrách a s tehdejšími ovladači, byly GeForce 7900 GTX a Radeon X1900 XT(X) sobě rovné karty. Koncem léta, v novějších hrách v čele s Oblivionem a novějšími ovladači už GeForce 7900 GTX soupeřila spíše se slabším Radeonem X1950 Pro. Přišly totiž „pravé SM3.0 hry“ a ukázala se zastaralost architektury GeForce 6/7.
Spíše než v obecné zastaralosti tkvěl problém v tom, že nároky her se časem mění směrem k relativně vyšším požadavkům na pixel shading a relativně nižším na texturování (a konkrétně Radeon X1900 měl na svou dobu pixel shaderů více než dostatek). V minulosti to korelovalo s tím, jak nové verze Direct3D přinášely nové efekty, hlavně ty náročné na pixel shadery. Ale Direct3D je do jisté míry kumulativní a například Far Cry se dalo pohodlně hrát i na kartách s DirectX 8. Rozdíl byl pozorovatelný, ale ne tak zásadní, aby to nějak kazilo požitek ze hry.
Nejsem si jist, jestli do dnešní doby někdo takovou pravou DX10 hru viděl. Tehdy se ale celkem jasně vyznačovala tím, že to nebyla starší hra s patchem. Podle některých to měla být hra, ve které se naplno ukážou přednosti architektury R600 a nedostatky G80. Jiní se ale spokojili s tím, že hra nesla štítek DX10 už při vydání, a první takovou byla Lost Planet. Ke smutku fanoušků ATI v ní Radeon HD 2900 XT dopadl velmi špatně. Zčásti to bylo proto, že hra byla optimalizována pro karty Nvidie, zčásti ale také kvůli tomu, že Radeon byl čerstvě po vydání a protože se jednalo o první vlaštovku úplně nové architektury, ovladače trpěly mnoha dětskými nemocemi.
ATI (tehdy vlastně už AMD) si spravila chuť s Call of Juarez. To sice byla jedna z her s DX10 patchem, rozdíly v obraze byly ale vidět i bez lupy. Vývojáři se zde rozhodli vynutit vyhlazování hran, které provádějí shadery namísto jednotek ROP. To je sice podle DirectX přípustný postup v případě, že klasické fixed resolve vytváří obrazové artefakty (což se děje např. při použití deferred renderingu), ale prakticky se kvůli vyšší náročnosti příliš nepoužívá a GeForce (nebo jejich ovladače) pro něj nebyly vůbec optimalizované. Radeony naopak jiný způsob vyhlazování neuměly, údajně kvůli chybě v návrhu jednotek ROP postihující celou rodinu R6xx, a tak v Call of Juarez vítězily.
![Novodobá historie grafických karet](https://i.iinfo.cz/images/178/coj_dx9_dx10.jpg)
2007: Crysis
Ochranná známka Far Cry zůstala Ubisoftu, se kterým Crytek ukončil spolupráci, a tak „pravý“ nástupce Far Cry vydaný pod hlavičkou EA nese název Crysis. Už samotný fakt, že se jednalo o další počin studia stojícím za peckou roku 2004, vzbuzovalo pozornost hráčů. Crytek ale aktivně podporoval hype a tak už půl roku před vydáním většina žádostí o radu se stavbou PC obsahovala požadavek „chci, aby na tom jelo Crysis“. Což bylo jen těžko splnitelné zadání.
Crytek se netajil tím, jak bude hra náročná, i to měl prý být důvod, proč Crysis vyšel jen na PC a nikoliv na „slabých“ konzolích. Podpora DirectX 10 tehdy byla žádaným marketingovým tahákem a ani to samozřejmě Crysis nemohlo chybět.
V komentářích u minulého dílu se někdo z vás ptal na dobové ceny. Nuže, nabídka grafických karet v létě roku 2007 vypadala přibližně následovně:
- Absolutní high-end: GeForce 8800 GTX (13–14 tis. Kč), 8800 Ultra (15–16 tis. Kč).
- High-end: GeForce 8800 GTS 640MB, Radeon HD 2900 XT (kolem 9000 Kč)
- Nižší high-end: GeForce 8800 GTS 320MB (7–8 tis. Kč)
- Vyšší střední třída: Radeon X1950 XT, GeForce 8600 GTS (kolem 5000 Kč)
- Střední třída: Radeon X1950 Pro, GeForce 8600 GT, Radeon HD 2600 XT (kolem 4000 Kč)
- Nižší střední třída: Radeon X1950 GT, Radeon HD 2600 Pro (3–4 tis. Kč)
Nejvýkonnější karty byly mimo rozpočtové možnosti typického českého hráče. GeForce 8800 GTS 320MB svým poměrem cena/výkon vyčnívala z řady, existovaly ale obavy, že 320 MB paměti bude do budoucna málo, ve vyšších rozlišeních s anti-aliasingem se už tehdy výkon v některých hrách propadl pod jinak slabší Radeony s 512 MB paměti.
Radeon X1950 XT byl již technologicky zastaralý, hlučný (používal vysavač z Radeonu X1800 XT) a většina modelů měla jen 256 MB paměti. GeForce 8600 GTS sice podporovala DirectX 10, na svůj výkon byla ale předražená. Radeon HD 2600 XT nebyl vyloženě špatný, prodejům asi ubližovalo fiasko s HD 2900 v high-endu. Byl ale na hry už relativně slabý. Nejlepší poměr cena/výkon měl Radeon X1950 Pro, který zase nepodporoval DirectX 10.
Retrospektivně nebyla správným řešením ani jedna z karet, pokud připadala v úvahu možnost vyčkat. Na podzim totiž přišla GeForce 8800 GT s novým čipem G92 a s ní cenové zemětřesení. Za cenu oficiálně 6500 Kč jste získali kartu s výkonem GeForce 8800 GTS 640MB, přetaktované edice se dotahovaly i na verzi GTX. Nvidia nestíhala dodávat a karty byly dlouho špatně dostupné, což vyhnalo cenu nahoru, pořád to ale byl dobrý kup. Komu se nechtělo čekat nebo měl hlouběji do kapsy, pro něj tu byly neméně povedené Radeony HD 3870 a HD 3850. Nejdůležitějším bojištěm pro tyto karty byla žhavá novinka Crysis a bohužel se to opět neobešlo bez podvádění.
Když už jsme si tak pěkně prošli hry, nemůžeme nevzpomenout „cédéčkovou mánii“, která někdy v letech 2002–2004 panovalo a kterou nejspíše vyhrála MSI. Alespoň co do počtu CD, u některých grafik jich přiložila rovnou dvanáct. Asus nezůstával o moc pozadu, dvě či více her ale přikládali i další výrobci.
Bundle k MSI RX800 (nahoře) a MSI FX5900, zdroj: HardwareZone
Příchod dvoučipového highendu
Dvoučipové karty – kde se vzaly a jak se zabydlely v high-endu
V minulém díle jsme se věnovali mimo jiné tomu, jak Nvidia oživila SLI a ATI kontrovala s vlastním CrossFire. Navzdory tomu, že majetní hráči si mohli pořídit příslušnou základní desku a dvě high-endové grafické karty, cítila Nvidia potřebu na jaře roku 2006 vydat GeForce 7950 GX2, sendvičovou grafickou kartu se dvěma jádry G71.
GeForce 7950 GX2, zdroj: Tom's Hardware
Pro úplnost se sluší uvést, že GX2 nebyla první duální kartou, která se na trhu objevila. Všechny předchozí pokusy ale spáchali výrobci karet na vlastní triko. Gigabyte například nabízel duální GeForce 6600 GT, protože ale karta neměla můstek, který rozděluje linky PCI Express, fungovala jen na čipsetu nForce 4 SLI (na obyčejné nForce 4 se rozdělování linek muselo aktivovat hacknutými ovladači nebo BIOSem). Asus měl limitovanou edici EN7800GT Dual, karta se proslavila hlavně mamutími rozměry a externím napájecí cihličkou.
Motivace Nvidie za sendvičem byla taková, že SLI je stále bráno jako jakési nestandardní řešení a ne každý recenzent jej testuje, duální karta do jednoho slotu bude ale nevyhnutelně srovnávána proti jednočipovým kartám a vybojuje pro svou stáj potřebné vítězství, které GeForce 7900 GTX nepřinesla. Kromě toho, jak už jsem zmínil v předchozím díle, SLI podporovala málokterá deska a duální karta mohla oslovit uživatele, kteří takovou desku nemají a nechtějí kupovat.
Pro ty, co měli tu možnost, bylo tehdy asi lepším řešením pořídit si dvě karty do SLI. Pomineme-li vyšší zbytkovou hodnotu dvou jednočipových karet při bazarovém prodeji (což majitele SLI zřejmě zase tolik netrápí), dvě karty nabízely vyšší výkon (stejně, jako je tomu dnes, GeForce 7950 GX2 neběžela na frekvencích 7900 GTX) a chlazení se dalo vyřešit lépe.
![Novodobá historie grafických karet](https://i.iinfo.cz/images/134/Extreme-N6800GT-DUAL-2DT-512M.jpg)
Kdo se dnes diví velikosti Asus Mars, měl by si vzpomenout na skutečnou lopatu:
duální GeForce 6800 GT
Microstuttering, metla multi-GPU systémů
Zadrhávání obrazu neboli microstutteringu se ve svých článcích už hojně věnovali Mirek Jahoda i Adam Vágner. Co to je a jak se to (ne)projevuje v testech, si můžete přečíst třeba v článku CrossFire HD 7970 + Eyefinity a bájný microstuttering, co to není, vám shrne krátké pojednání od Jirky Součka. No a konečně jen pár týdnů starý Adamův článek vám napoví, jaká je dnes motivace k nákupu duální karty, i když desku s podporou SLI či CrossFire možná máte a druhý slot pro grafickou kartu nepoužíváte. Tou motivací je paradoxně vyšší výkon, měřeno nikoliv v průměrném framerate, ale odstupem jednotlivých snímků a skutečnou plynulostí. Výborně to ilustruje následující graf, který oproti Adamovým testům obsahuje i dvojici GeForce GTX 680:
Micro-stuttering na CrossFire, SLI a dvoučipové GeForce GTX 690, zdroj: ComputerBase.de
Není to tak hrozné, jak se může na první pohled zdát: jak dokazuje starší test Tech Reportu, i obyčejné SLI nebo CrossFire dokáže nabídnout stabilní framerate bez micro-stutteringu. Ale jen někdy.
O microstutteringu se překvapivě v době vydání GeForce 7950 GX2 příliš nemluvilo, a tak karta dostala v recenzích celkem příznivé hodnocení. O tomto a dalších problémech multi-GPU řešení se „čirou náhodou“ začalo hodně diskutovat až počátkem roku 2008, kdy AMD vydalo Radeon HD 3870 X2. A protože microstuttering v testech není vidět a Radeon HD 3870 X2 dokázal tu a tam vyprodukovat více snímků než GeForce 8800 Ultra, Nvidia o dva měsíce později odpověděla s GeForce 9800 GX2.
Poznámky, co se jinam nehodily
Další historie by byla prakticky už jen výčtem jednotlivých modelů, o kterých jste nejspíš už slyšeli, a tak už jen stručně vypíchneme pár zajímavostí. Jinak stačí vědět, že od té doby duální karta jakožto nejvyšší high-end nechyběla v žádné generaci s výjimkou první Fermi (GeForce GTX 4xx).
Zajímavost #1: Konstrukce dvoučipových karet se časem vyvíjela. Koncepce GeForce 7950 GX2 byla z hlediska chlazení velmi nepraktická, a tak u GeForce 9800 GX2 se dvěma čipy G92 Nvidia použila opět dva tištěné spoje, avšak jakoby s rozestupem dvou slotů; chladič byl pak uprostřed. Takovým sendvičem byla i první verze GeForce GTX 295, posléze Nvidia umístila oba čipy na jedno PCB, jako to AMD/ATI dělala už od Radeonu HD 3870 X2.
Zajímavost #2, nebo spíše čestná zmínka ke snaze o eliminaci nedostatků multi-GPU řešení: Radeon HD 4870 X2 a jeho sideport, rozhraní pro komunikaci mezi dvěma jádry vedle existujícího spojení PCI Express skrz můstek PLX. Těžko říct, co s ním AMD chystalo, nakonec ale nebyl nikdy použit a AMD se vyjádřilo v tom smyslu, že na to, aby sideport dokázal přinést nějaký efekt, je příliš pomalý.
Od grafické karty ke kapesnímu superpočítači: vznik GPGPU
Konec grafické pipeline
Když se ještě v roce 2005 hovořilo o parametrech grafických akcelerátorů, ještě neexistovaly žádné stream procesory. Základním údajem, ze kterého se dal odvodit výkon čipu, byl vedle frekvence počet pixel pipeline. To byly, velmi lapidárně řečeno, části čipu provádějící pixel shading a texturování. Pokud se tedy udával počet texturovacích jednotek, udával se zpravidla ne celkem, ale na pipeline.
Údaj o počtu pipeline byl velice oblíbený mimo jiné proto, že v rámci generací ATI R3xx, R4xx (Radeony 9500 až X850) a Nvidia GeForce FX až GeForce 7 sloužil i pro srovnání karet obou výrobců navzájem. Pipeline ATI a Nvidie si byly v základních rysech podobné, čipy se stejným počtem pipeline měly podobný počet tranzistorů a tudíž i podobný výkon. Stačil tak letmý pohled na specifikace a věděli jste například, že GeForce 6600 na tom bude podobně jako Radeon 9800, když obě karty mají osm pipeline.
Jelikož se tehdy ještě nepoužívaly unifikované shadery, čipy měly také samostatné vertex shadery. Těch býval jednociferný počet a na výkon neměly tak zásadní vliv, kromě úzce zaměřených syntetických testů či scén s nadprůměrně složitým geometrickým modelem.
Mnoho lidí tedy bylo na podzim roku 2005 překvapeno, když Radeon X1800 XT měl pouze 16 „pipeline“, stejně jako předchozí Radeony X800 a méně než GeForce 7800 GTX (24). U čipu R520 už se ale o pipeline tak docela mluvit nedalo. Podobně jako čipy z pozdější doby měly jádra rodiny R5xx blok pixel shaderů, blok texturovacích jednotek a bloky jednotek ROP/RBE spojené s paměťovými kanály. Tehdy ještě s několika samostatnými vertex shadery, neboť unifikace nás teprve čeká. Inovativním počinem byl také ring bus, interní kruhová sběrnice, kterou jednotlivé části jádra navzájem komunikovaly.
Obecné výpočty na GPU a akcelerace herní fyziky
„Máme ve svých rukou čip. Čip, který by mohl způsobit revoluci v medicíně. Se schopností vykonat 100 miliard operací za sekundu by tento čip mohl léčit napříč světadíly. Mohli bychom se dotknout více životů, umožnit lidem žít déle než kdy předtím a poskytnout všem více času užívat si skutečných odměn životní cesty. Ale pak jsme si řekli: hej, použijme ho na hraní!“ – reklamní spot 3dfx z konce devadesátých let
V roce 2006 byla idea grafického čipu jakožto spasitele lidstva oživena. Umožnil to přechod od fixních výpočetních jednotek k programovatelným a samozřejmě také vznik programovacích rozhraní, kterými se k obecnějším funkcím GPU dalo přistupovat. Před nimi totiž existovaly pouze Direct3D a OpenGL, zaměřené na vykreslování grafiky; využít je pro jiné výpočty sice nebylo nemožné, ale velmi obtížné a nepohodlné.
První krůčky: fyzika od Havoku
Za zlomový okamžik můžeme považovat květen 2006, kdy balík ovladačů Catalyst verze 6.5 beta přinesl možnost programovat Radeony řady X1000 skrze rozhraní DPVM (Data Parallel Virtual Machine). Později jej ATI přejmenovala na CTM (Close to Metal), je to ale jedno a totéž.
No a už na Computexu 2006 byla k vidění technologická dema, kde karta řady Radeon X1900 počítala kolize mnoha drobných objektů. Na svědomí to měla společnost Havok, která by neměla být náruživým hráčům neznámá. Její Havok FX je jedním z nejrozšířenějších fyzikálních enginů pro hry a bylo tomu tak i v roce 2006. Techdema v podobě videí zaznamenaných Frapsem můžete stáhnout přímo z našeho FTP.
Bohužel tehdy zůstalo jenom u těchto dem a v září roku 2007 byl Havok odkoupen Intelem, který pravděpodobně myšlence akcelerace fyziky pomocí grafických jader nebyl nakloněn. Pozdější techdema, například simulaci chování látky s využitím OpenCL z roku 2009, najdete na YouTube, nevíme však o tom, že by se cokoliv z toho dočkalo reálné implementace.
Má-li dnes nějaká hra fyziku akcelerovanou pomocí GPU, pak používá PhysX a akcelerace funguje pouze na grafických kartách Nvidie. Počátky této technologie byly ale ještě daleko trapnější.
Slepá vývojová větev: fyzikální akcelerátor od Ageiy
Bylo to shodou okolností též v květnu 2006, kdy společnost jménem Ageia představila svůj akcelerátor PhysX P1, určený pro akceleraci fyziky již existujícího engine Ageia PhysX . Ten byl na rozdíl od Havoku poskytován zdarma a zisk měl Ageie přinést prodej přídavných karet.
Akcelerátor PhysX v provedení od Asusu, zdroj: LegitReviews
PPU mělo podobu karty do slotu PCI a pokud mne paměť neklame, stálo kolem 3500 Kč. Řeknu-li, že akcelerátor fyziky se neprosadil, bude to dost slabé slovo, ve skutečnosti to bylo docela fiasko. Na problémy, které mu srazily vaz, byste možná přišli sami.
Co se her týče, bylo to tehdy podobné jako s dnešním PhysXem pod křídly Nvidie. Hry, které engine PhysX používaly, existovaly, ale používaly jen implementaci pro CPU a z přídavné karty nedokázaly těžit. Her, kde PPU přišlo ke slovu, bylo všehovšudy v řádu jednotek a ty první, se kterými recenzenti PhysX v květnu 2006 testovali, implementovaly hardwarově akcelerovaný PhysX podobně ledabyle, jako o rok později první hry implementovaly DirectX 10.
![Novodobá historie grafických karet](https://i.iinfo.cz/images/461/car2p.jpg)
Ghost Recon Advanced Warfighter s PhysX. Zdroj: Bit-tech
Tak například v Ghost Recon: Advanced Warfighter spočíval přínos v tom, že ze zdi zasažené střelbou odletovaly kamínky a z vybouchlého automobilu létaly nějaké generické úlomky, které vůbec úlomky automobilu nepřipomínaly. Vyšší počet objektů, které bylo potřeba vykreslit, se negativně projevil na snímkové frekvenci. Korunu tomu celému nasadilo zjištění, že minimálně v GRAW lze prostřednictvím modifikace konfiguračních souborů zapnout vylepšenou fyziku i na počítači bez karty PhysX P1 a fyziku zvládá počítat i procesor.
Obecně PhysX P1 doplatila na začarovaný kruh. Dokud nebyly hry, nebyla motivace kartu kupovat. A dokud měla karta minimální penetraci, nemělo smysl pro ni programovat. Koncem roku 2007 se spekulovalo, že by Ageiu mohlo odkoupit AMD (které rok předtím koupilo kanadskou ATI Technologies), v únoru 2008 byla Ageia vskutku odkoupena, avšak Nvidií.
Video si můžete stáhnout pomocí odkazu: Tornado_PhysX (58 MB, WMV, 720p)
GPU zachraňuje svět s Folding@home
Je-li třeba představovat Folding@home, jedná se o projekt distribuovaných výpočtů stanfordské univerzity, který jako jeden z mála nepoužívá platformu BOINC, nýbrž má vlastního klienta. Díky tomu může tým Folding@home inovovat rychleji, než těžkopádný BOINC, a tak už na podzim roku 2006 existoval klient, který pro výpočty využíval Radeony s čipy R580 (X1900 XT(X), X1950 XTX) a RV570 (X1950 Pro/GT, X1650 XT), později byla přidána podpora pro RV530/RV535 (X1600 Pro/XT, X1650 Pro) a R520 (Radeon X1800 XT/XL/GTO).
Zatímco BOINCu se o aplikacích pro GPU mohlo ještě pár let jen zdát, Folding@home tou dobou podporoval také Playstation 3, kde k výpočtům používal jednotky SPE procesoru Cell. Pro ty, kdo by náhodou tápali: Cell, společné dílo IBM, Toshiby a Sony, má jedno „velké“ jádro architektury PowerPC a osm „malých“ SPE (z čehož v PS3 je kvůli výtěžnosti aktivních jen sedm). Ruku k dílu přiložilo mnoho majitelů konzole a platforma PS3 po sečtení GFLOPS celkem rychle předstihla desktopové počítače.
Časem se dostalo i na grafické karty Nvidie nové řady GeForce 8, poměrně dlouhou dobu byl ale Folding@home zdaleka nejsmysluplnější aplikací, která se dala na GPU provozovat. AMD taktéž na podzim 2006 vydalo nové SDK jménem Stream, které na rozdíl od CTM poskytovalo i možnost high-level programování. Stream SDK bylo ale zastíněno konkurenčním frameworkem CUDA, který přišel společně s GeForce 8800.
GeForce 8800 a její doba, exkurz do výrobních technologií
GeForce 8800, její kuriozity a několikeré prvenství
GeForce 8800 vyšla v listopadu 2006 a nekompromisně rozdrtila všechno, co tehdy mohlo nabídnout AMD. Situace se nápadně podobala roku 2002, kdy Radeon 9700 převálcoval vlastně o generaci starší GeForce 4. Čip G80 sice používal stejný 90nm výrobní postup jako ATI R520 a R580, s tehdy neuvěřitelnými 681 miliony tranzistorů byl ale téměř dvakrát větší. Pro zlepšení výtěžnosti použila Nvidia netradiční řešení, kdy z čipu oddělila logiku zajišťující ovládání obrazových vstupů a výstupů a komunikaci skrze rozhraní SLI můstku. Tyto funkce převzal malý čip jménem NVIO, který u verzí určených čistě pro výpočetní nasazení (Tesla) mohl být vypuštěn.
Stručné shrnutí výhod G80 nabízí výstřižek z článku 25 nejpovedenějších grafik všech dob podle EHW:
Zatímco se ATI usazovala ve střední třídě a Radeon X1950 XTX díky novějším hrám a lepšícím se ovladačům přebíral žezlo nejrychlejší karty světa, vedení Nvidie se jen tiše usmívalo. Kaliforňané byli totiž na konci čtyřletého vývoje a testování G80, prvního GPU s unifikovanými shadery podporujícími DirectX 10 a v podobě GeForce 8800 GTX pak výkonem, který vlastně stačí na většinu her v solidních detailech dodnes. A tehdy? No, s DirectX 10 (ovladače pro Vistu) to chvíli trvalo, her vlastně až tolik stejně nakonec nevyšlo, ale GeForce 8800 GTX byla i DirectX 9 o tolik výkonnější než konkurence, že to bylo jedno. Její uvedení je srovnatelné s Radeonem 9700 Pro v roce 2002. Převaha jde výrazně na stranu Nvidia a následující rok a půl by se dal nazvat zlatým věkem její grafické divize.
GeForce 8800 GTX. 768 MB GDDR3, 384bitová sběrnice a 128 stream procesorů na 1350 MHz.
Následnému souboji G80 vs. R600, který pro druhý jmenovaný čip dopadl debaklem, jsem se věnoval už před čtyřmi lety, v článku Po stopách evoluce: kam kráčí GPU?. Je to trochu ukecané, takže se nemusíte stydět to přeskočit.
GeForce 8800: recept na úspěch
Jádro G80 přišlo na trh prakticky jako atomová bomba z čistého nebe. Po mediální kamufláži Nvidie a dlouhých letech, kdy leaderem byla ATi, se od G80 příliš mnoho neočekávalo. Právě to byla ideální atmosféra pro příchod legendy. Ačkoliv se v době vydání ozývaly skeptické hlasy, že v Direct3D 10 se ukáží nedostatky čipu laděného převážně pro Direct3D 9, tyto obavy se během jeho životnosti nepotvrdily a G80 tedy po více než roce odešla do důchodu prakticky neporažená (když nepočítáme dvoučipový Radeon HD 3870 X2). Budete se mnou jistě souhlasit, že G80 se může zařadit do síně slávy po bok tak slavných GPU, jako byl například R300 od ATi (Radeon 9700).
Největší inovací a hlavní zbraní G80 byly unifikované stream procesory, které dokázaly běžet na frekvenci více než dvakrát vyšší, než zbytek čipu. Silný byl i blok texturovacích jednotek a to celé bylo podpořeno vysokou propustností pamětí, kterou zajistila do té doby nevídaně široká 384bitová sběrnice. A hlavním tahákem prodejů, i když nevyužitelným, byla již zmiňovaná podpora DX10.
Kritici G80 zdůrazňovali, že mnoho dílčích technologií implementovala ATi již u čipů série R5xx nebo dokonce dříve. Jenže jak už to tak bývá, jedna firma něco vymyslí, a teprve konkurence to převezme a dotáhne k dokonalosti (například monolitické čtyřjádro s integrovaným paměťovým řadičem a rychlou sériovou sběrnicí, ale to odbíhám). G80 k technologiím přidávala na svou dobu nevídaný výkon a třešnička na dortu v podobě podpory Direct3D 10 z ní činila velmi vydařený produkt.
Příznivci ATi ale už od počátku hovořili o mračnech, které se nad G80 měla stahovat. Ta mračna se jmenovala R600.
Radeon HD 2900: Godot se ztratil ve slepé uličce
GeForce 8800 netrpělivě čekala na vyzyvatele, jenže červené mračno jaksi nepřicházelo a nepřicházelo. Ani v březnu, kdy podle dlouhodobého plánu měl vyjít nový high-end, neměla ATi nic, čím by mohla soupeřit s G80. Až koncem května jsme se konečně dočkali. Jenže na bedra R600 byla kladena tak vysoká očekávání, která GPU zkrátka nedokázalo splnit.
Nevěděli jsme, co můžeme od nové architektury očekávat a 320 stream processorů, byť uspořádaných jako 64 5D jednotek s taktem shodným se zbytkem čipu, vypadalo na papíře nadějně. Částečně se vycházelo také z předpokladu, že když už nás ATi nechala čekat tak dlouho, konkurenční high-endový čip překoná. Kromě již zmíněných stream processorů k tomu měla další dobré předpoklady: zkušenosti s unifikovanými shadery z Xenosu, modernější 80nm výrobní proces, vyšší počet tranzistorů a dosud nevídaně široká 512bitová sběrnice pro paměti.
Jenže Radeon HD 2900 XT sotva držel krok s GeForce 8800 GTS, očesanou verzí G80. Přitom měl vyšší spotřebu, abnormálně hlučný chladič a ačkoliv ATi upravila cenu tak, že poměr cena/výkon nebyl vyloženě špatný, vysoká očekávání způsobila, že téměř všichni označili R600 za jednoznačný propadák.
Co se pokazilo? Někteří svalovali vinu za neúspěch R600 čistě na TSMC, které jednak nedokázalo poskytnout 80nm proces optimalizovaný pro vysoké frekvence včas a když už jej poskytnout dokázalo, trpěl výrobní postup vysokými úniky proudu. To znamená vyšší spotřebu, teplo, nižší dosažitelné takty, a problém je na světě. Pravdou ale je, že na neúspěchu R600 se podílelo hned několik pochybení.
Kromě TSMC chybovala samotná ATi, když narozdíl od Nvidie vůbec neodhadla podobu herního trhu v době životnosti karty. A mohlo to být i horší, podle původního plánu měl R600 být vydán už v srpnu/auguste roku 2006, ještě dříve, než G80.
Mnozí přirovnávali R600 k NV30 (GeForce FX 5800), která se do srdcí hardwarových nadšenců zapsala jako největší fiasko v dějinách grafických akcelerátorů. Risk s neozkoušeným výrobním procesem, vysoká spotřeba, hlučný chladič, neoslnivý výkon, vydání později než konkurence – ve všech těchto ohledech se R600 a NV30 podobaly. NV30 ale krom toho zaostávala také technologicky, takže se ani na architektuře nedalo příliš stavět.
Radeon HD 2900 XT se pro změnu umístil v žebříčku 25 největších propadáků. Abych nějak stručně shrnul, jaké problémy R600 měla a z čeho vyplývaly:
- Zpoždění. To by samo o sobě nebyl tak kritický problém, jenže podle spekulací a leaků bylo vydání R600 prakticky už od ledna „za rohem“ a to přispělo k vybudování hype. K problémům možná přispělo sloučení ATI s AMD a výsledná špatná nálada mezi zaměstnanci umocněná personálními změnami.
- Nízký výkon, vysoká spotřeba a z toho plynoucí hlučný chladič. Na tom se podepsaly jednak problémy s výrobou u TSMC, jednak ale i špatná rozhodnutí vývojového týmu v čele s Ericem Demersem a smůla v podobě hardwarové chyby v jednotkách ROP. Jako zbytečný žrout tranzistorů a místa v čipu se později ukázala třeba 512bitová sběrnice (RV670 se stejným počtem funkčních jednotek bohatě stačilo 256 bitů), tehdejší trendy ve 3D hrách ATI nevystihla s optimalizací texturovacích jednotek pro formát FP16. Nelze také vyloučit, že ATI původně plánovala větší a výkonnější čip, ale 65nm postup byl opožděn a ATI se musela spokojit s 80nm technologií.
- Špatné ovladače, jak už jsem ostatně zmínil v kapitole věnující se hrám. G80 i R600 byly ve své době nové architektury a problémy se nevyhly ani zelenému táboru, Nvidia ale při vydání R600 měla v ladění ovladačů půlroční náskok.
- Podpora širšího spektra technologií, než vymezuje DirectX 10. Protože vývoj nové architektury grafického čipu trvá několik let, požadavky na příslušnou verzi DirectX ještě nejsou zcela finalizovány. R600 pravděpodobně neměla daleko od podpory DirectX 10.1 (tam prý byly features, které se do DX10 nedostaly, možná i proto, že je G80 neuměla) a měla mimo jiné i hardwarový teselátor (který byl standardizován, bohužel v nekompatibilní podobně, až v DirectX 11). Tyhle features, které R600 nemohla využít, pravděpodobně také stály nějaké tranzistory navíc, které by jinak mohly být využity pro více výpočetních a texturovacích jednotek. Možná.
No a abychom se vrátili k G80, současně s jejím vydáním představila Nvidia rozhraní CUDA. Na rozdíl od AMD se pro CUDA programovalo dialektem rozšířeného jazyka C, což bylo pro vývojáře pohodlnější. V CUDA C můžete psát programy i dnes, kromě toho ale existují knihovny a wrappery pro další jazyky, takže vyvíjet pro GPU Nvidie můžete téměř v čemkoliv. CUDA našla využití v programech, které pracují s fotografiemi, videem a 3D grafikou (používají ji některé pluginy pro Photoshop, transkodéry videa nebo pluginy pro software pro 3D modelování, kde přes GPU lze provádět rychlejší raytracing).
Grafické čipy se vyvíjejí a tak existují různé verze „Compute Capability“, 1.0 náleží prvním GeForce 8, GeForce GTX 680 už má Compute Capability 3.0. Některé aplikace tedy může vyžadovat určitou verzi CC a na starší kartě, i když rozhraní CUDA podporuje, je nerozchodíte. Například projekt distribuovaných výpočtů MilkyWay@home vyžaduje u karet Nvidie Compute Capability 1.3 a navíc podporu výpočtů v 64bitové přesnosti (double precision), což mnoho zejména levnějších GPU neumí.
Abychom uzavřeli kapitolu o programovacích rozhraních, AMD později hodilo přes palubu i Stream a začalo se veřejně hlásat k nově vznikajícímu otevřenému standardu OpenCL, aby tak mohlo Nvidii veřejně pranýřovat za protlačování proprietárních technologií. OpenCL nicméně podporuje i Nvidia (a tvrdí, že mnohé OpenCL okopírovalo právě z její Cudy, což pro ni asi podporu OpenCL usnadnilo), podobně jako Direct Compute. Alespoň teoreticky tedy dnes není problém napsat aplikaci, která poběží na grafických akcelerátorech AMD, Nvidie i Intelu.
Exkurz do výrobních technologií: není nanometr jako nanometr
V minulém díle jsem se mimo jiné zmínil, že čipy ATI R430 a RV410 byly vyráběny 110nm postupem orientovaným na nízkou cenu, a proto nedosahovaly tak vysokých taktů, jako 130nm čipy té samé generace. Jádro G70 vyráběné taktéž 110nm technologií ale v GeForce 7800 GTX 512MB běželo na 550 MHz. Podobný případ: 80nm postup používala řada čipů z generace R5xx a low-endové GeForce 8, všechno to ale byly karty vcelku úsporné, zatímco R600 ve své době lámala rekordy spotřeby. Čím to?
Je to tím, že výrobna jako TSMC nabízí více variant výrobního postupu se stejně velkými tranzistory (třeba 80nm) a čipy jako G70 nebo R600 používají tu dražší variantu optimalizovanou pro dosahování vysokých frekvencí. Ty R600 vskutku problémy nedělaly, pokud byla chlazena vodou či kapalným dusíkem, problém tkvěl ve vysokých únicích proudu (tzn. skrz tranzistory, které mají být vypnuté, stále protéká proud a mění se na teplo).
Mimochodem, možná jste si všimli, že s výrobními postupy to dříve bývalo barvitější než dnes. Je to tím, že TSMC přestalo nabízet „full nodes“ a „half-nodes“. Počínaje 40 nanometry je od každé generace nabízen jen postup s jednou velikostí tranzistoru. Čipy navržené pro výrobu full node postupem se daly s minimální pracností upravit pro výrobu navazujícím half-node (tedy např. 90nm › 80nm, 65nm › 55nm), v dřívějších dobách to údajně šlo i bez úprav masky a těmto novým revizím říkalo optické die-shrinky. ATI a Nvidia této možnosti hojně využívaly, občas byl die-shrink spojen s novou revizí čipu (takže např. 55nm ATI RV620 a RV635 podporovaly DirectX 10.1, zatímco RV610 a RV630 „jen“ DirectX 10).
Zrušením half-nodes přišel souboj AMD vs. Nvidie o jeden ze zajímavých aspektů. Firmy mohly buď riskovat s novým výrobním postupem (pokud risk vyšel, dané GPU bylo levnější a úspornější než to soupeřovo), nebo se raději držet toho staršího (čili žádná nepříjemná překvapení, zato ale o malinko větší jádro a vyšší spotřeba). Poslední přibližně tři roky se ale všechna GPU vyráběla 40nm postupem, následující tři roky zůstaneme na 28 nanometrech. Navíc podle frekvencí dosahovaných všemi čipy generace AMD GCN (Radeon HD 7000) to vypadá, že z původních více variant výrobního postupu použitelných pro GPU se dnes používá jen jedna pro celou rodinu čipů od low-endu po high-end.