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

Nvidia GF100: představení grafické karty na bázi „Fermi“

Nvidia Fermi logo (jako)
Očekávaný den konečně nastal (a sice včera, nicméně my dostali materiály až po NDA, proto je článek o „Geforce GF100 Fermi“ u nás až dnes), takže se společně můžeme podívat na klasickou grafickou kartu generace Fermi.

Před čtením tohoto článku vám doporučujeme znovu si přelouskat záříjové představení Fermi jakožto výpočetní architektury, dnes to totiž bude už jen o grafických specialitkách.

Nvidia „GF100“ Nvidia „GF100“

Nvidia představuje GF100 jakožto kartu s inovacemi i evolučním vývojem. Jejím cílem je poskytnout nejen skvělou výpočetní architekturu (ta plyne z Fermi jako takového), ale zejména částí, které přispějí k výrazně lepšímu chodu her, ať již z hlediska technologií pod kapotou (tesselace atd.), nebo po vizuální stránce.

Nvidia GF100: tesselace

Jedná se samozřejmě o GPU DirectX 11 generace, které přináší 512 CUDA jader (GT200 končilo na 240). Dále Nvidia hovoří o překopané geometrické pipeline s razantním nárůstem výkonu geometrických shaderů, cullingu atd., ROP (Render Output) jednotky jsou zdvojeny pro větší propustnost, lze obsluhovat více monitorů najednou, vzrostl výkon 8xMSAA a je zde nový algoritmus pro 32x CSAA založený na 8 multisamplech a 24 coverage samplech. CSAA také podporuje alpha-to-coverage na všech vzorcích pro lepší rendering průhledných věcí s minimální penalizací výkonu.

Nvidia GF100: displacement mapping

Nvidia si také dala záležet na geometrickém výkonu. Od dob GeForce FX 5800 vzrostl více než 150x výkon shaderů, avšak geometrie jen méně než 3x. GF100 je navržena, aby tento nepoměr co nejvíce zmírnila, čemuž slouží DirectX 11 techniky známé už od podzimu z karet ATI (pomineme-li přítomnost tesselace už ve velmi letitých Radeonech): tesselace a displacement mapping.

Architektura GPU

Nvidia GF100: architektura

GPU nese již zmíněný počet CUDA jednotek uspořádaných tak, jak to známe již z Fermi, do jednotlivých clusterů, streaming multiprocesorů a též napojených k dílčím paměťovým řadičům. Nvidia kromě 512C (C = CUDA jádro) grafik uvede i nižší verze. Jednou z nich jsou třeba Tesly se 448 CUDA jádry, čekejme i nižší počty, v mainstreamu doufám v 256, výše možná 384 CUDA verzi a tak podobně. L2 cache má stejně jako u výpočetních Fermi čipů 768kB – čipy jsou pochopitelně fyzicky shodné. Paměťová sběrnice pro GDDR5 je celkově 384bitová (stačí, GDDR5 sviští vyššími rychlostmi než u Nvidie dosud používané GDDR3).

Vezmeme-li si jeden GPC blok (ze čtyř v GPU), pak vidíme škálovatelný rasterizační engine pro triangle setup, rasterizaci a z-cull a také PolyMorph engine, druhou hlavní inovaci (pro vertexy a tesselaci). Předchozí generace GPU měly u Nvidie jednoduchou monolitickou logiku pro fetch, assemble a rasterizaci trojúhelníků, což je právě ta brzda v geometrické oblasti, protože máte pevně přiřazený počet jednotek, které mohou dělat pouze toto a nic jiného. Je to jako v dobách, kdy byly extra pixel a extra vertex shadery, které tvůrci GPU balancovali do vhodného poměru pro aktuální hry. Vždy byla nějaká, která by ocenila poměr jiný a univerzální řešení tak přinesly až unifikované shadery. . Podobnou inovaci nyní Nvidia provádí i na geometrické části, která je flexibilní dle potřeb aplikace (hry) v roce 2010, který přinese masivnější nasazení tesselace. Každý z 16 PolyMorph enginů tak nyní má vlastní vertex fetch a tesselační jednotku.

PolyMorph Engine

PE má pět dílčích kroků, které provádí: Vertex Fetch, Tessellation, Viewport Transform, Attribute Setup a Stream Output. Výsledek vždy směřuje do SM, který provádí herní shadery a výsledek opět vrací do PolyMorph Engine pro další krok zpracování. Jakmile proběhnou všechny tyto cykly, je výstup předán Raster enginům.

Raster Engine

Nvidia GF100: raster engine

Po zpracování primitiv v PolyMorph enginech přebírá štafetu tato další jednotka v pořadí. Pro dosažení maximálního výkonu jsou Raster Engine v GF100 umístěny paralelně. Probíhají v nich tři dílčí procesy. V prvním kroku se počítají pozice vertexů a rovnice pro triangle edges (vrcholy trojúhelníků). Ty, které nakonec nebudou zobrazeny, jsou z dalšího zpracování vyjmuty (vzpomínáte na PowerVR Kyro 2?). Každá Edge jednotka zpracuje za takt jeden bod, linii nebo trojúhelník.

Rasterizer přebírá výstup pro každé primitivum a počítá pixel coverage. Pokud je zapnut antialiasing, coverage se počítá pro každý multisample a coverage sample (vzorky). Každý rasterizer vrací každý hodinový takt osm pixelů, celkově 32 v rámci GF100 čipu.

Ty putují do Z-Cull jednotky. Ta porovnává souřadnice pixelů se stávajícími ve framebufferu a ty, které leží za celou řadou pixelů ve framebufferu, zahodí, čímž na nich nebude zbytečně probíhat pixel shading.

Na různých demech Nvidia ukazuje, že celkový geometrický výkon GF100 je až 8x vyšší než u GT200.

CUDA core

Kdybychom dostali materiály alespoň v nějakém předstihu, nikoli pár hodin po NDA, nacházel by se v této části popis samotných výpočetních jader. Ale v rámci toho, abychom vám článek přinesli s co možná nejmenším zpožděním, nebudeme se jimi zabývat znovu a odkážeme vás explicitně na příslušné stránky (pokud jste je nečetli, jak jsme doporučili na začátku :-) článku o architektuře Fermi, kde jsou právě CUDA jádra, Dual Warp Scheduler popisována podrobně.

Texturovací jednotky

Každý SM nese čtyři vlastní texturovací jednotky. Ty podporují „nové“ formáty komprese textur BC6H a BC7 z DirectX 11 redukující spotřebu paměti pro HDR a render targets. Také umějí jittered sampling přes čtyřoffsetový Gather4 v DirectX 11. To je implementováno na úrovni hardware, nikoli emulací.

Nvidia GF100: cache

Sluší se explicitně zmínit, že GF100 má jako správný čip Fermi generace k dispozici 64 kB paměti konfigurovatelné jako L1 cache, resp. sdílená paměť. Oproti GT200 Nvidia rozšířila použitelnost obou úrovní vyrovnávací paměti tak, jak zobrazuje diagram.

Nvidia GF100: L2 cache

ROP a antialiasing

Nvidia GF100: 32xCSAA

ROP susbystém byl též posílen (ostatně co jiného jste čekali? ;-), atomické operace na stejné adrese jsou rychlejší až 20x, operace nad souvislými bloky paměti až 7,5x. Významné navýšení výkonu se týká i již zmiňovaného 8xMSAA a je zde nový 32xCSAA.

Další střípky

Kromě představení „grafických“ schopností GPU se v materiálech Nvidie opakují pasáže o výpočetních schopnostech, s nimi vás odkážeme na článek o Fermi architektuře jako takové. Dále se sluší zmínit už jen podporu Nvidia 3D Vision Surround, tedy možnost hrát hry na třech monitorech s námi testovanými 3D brýlemi na hlavě, což dá hře ještě o něco větší rozměr než Eyefinity od ATI (na třech monitorech, takových 24 by byla jiná káva). Podporovány jsou monitory do 1920x1080/120 Hz, například takový nový 24“ Acer bude asi TA volba, byť bychom se zde obávali o zorné úhly TN LCD. Systém samozřejmě koriguje tloušťku rámu LCD.

Závěr

… je jen dočasný. Pověděli jsme si něco o architektuře Fermi z hlediska běžné grafiky pro hry a podobné záležitosti. Víme, co nového podporuje, ostatně jsme to věděli již dávno, protože řada věcí je zkrátka v DirectX 11 specifikacích a nová GF100 je zkrátka umět musela.

Co ale stále oficiálně nevíme, jsou parametry karet. Je jasné, že tu bude nějaký ten hi-end model s 512 CUDA jádry, stejně tak jsou jasné modely pro mainstream a low-end, ty by snad mohly mít 256 a 128 CUDA jader, případně budou další subvariace v daném segmentu. Přeci jen hlavních bloků v GPU jsou čtyři kousky, což dává potenciál i pro 384CUDA verzi, stejně tak je zde potenciál vypínat i subsekce GPU, což jasně dokazují Tesla karty se 448 CUDA jádry. Tak uvidíme, snad již se nebavíme o „několika měsících“, ale spíše o týdnech (byť jich je stále „nemálo“ do doby, kdy se GF100 karty objeví na trhu).

David "David Ježek" Ježek

Bývalý zdejší redaktor (2005-2017), nyní diskusní rejpal.

více článků, blogů a informací o autorovi

Diskuse ke článku Nvidia GF100: představení grafické karty na bázi „Fermi“

Úterý, 19 Leden 2010 - 19:13 | Ondar | Ale zapomněli jste dodat, že pro výstup na 3...
Úterý, 19 Leden 2010 - 17:33 | petr ib | njn na realne vysledky si budem muset jeste...
Úterý, 19 Leden 2010 - 16:50 | Mojmír Konečný | Muzu srovnavat PC s 2x 5870 a PC s 4x295GTX. Ty...
Úterý, 19 Leden 2010 - 16:32 | Jan Ukulele | Neuplyne hodně vody, ale pouze přesně měsíc - už...
Úterý, 19 Leden 2010 - 13:11 | JVc | 3x 7x 8x 20x 150x rychlejsi no to kdyby byla...
Úterý, 19 Leden 2010 - 12:36 | slwat | Myslím že je právě čas, aby AMD ohlásila další...
Úterý, 19 Leden 2010 - 11:54 | mamlasos1 | Už je to s FERMI hodně trapný, takto dokážu...
Úterý, 19 Leden 2010 - 11:39 | Nalim | Presneji by bylo: Radeon HD5870 mi zahriva PC...
Úterý, 19 Leden 2010 - 11:20 | Cotije Dotoho | Mimochodem, CEO nVidie rikal v listopadu: "...
Úterý, 19 Leden 2010 - 11:17 | Cotije Dotoho | Kecy v kleci. Tohle neni predstaveni. To je opet...

Zobrazit diskusi