Achtergrond: nVidia GF100 GPU

15 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. GF100
  3. 3. Streaming Multiprocessors
  4. 4. DirectX 11 en Tesselation
  5. 5. Tesselation demo's
  6. 6. PhysX
  7. 7. GPGPU
  8. 8. 3D Vision Surround
  9. 9. Conclusie
  10. 10. Besproken producten
  11. 11. Reacties

Inleiding

Het is inmiddels ruim vijf maanden geleden dat AMD met de Radeon HD 5870 de eerste DirectX 11 videokaart lanceerde. Hoewel de verkrijgbaarheid de eerste maanden alles behalve geweldig was - en dan drukken we ons vriendelijk uit - ging de uitrol van DirectX 11 kaarten verder op rolletjes. Halverwege oktober volgden de mid-range Radeon HD 5770 en 5750 kaarten, in november kwam de dual-GPU Radeon HD 5970 high-end kaart, in januari introduceerde men de Radeon HD 5670 en in februari werd het assortiment compleet gemaakt met de budget Radeon HD 5570 en 5450 kaarten. Inmiddels heeft AMD zodoende een line-up DirectX 11 kaarten van pak 'm beet 45 euro tot 600 euro en dat alles in vijf maanden tijd. Als ooit een manager binnen een bedrijf een top bonus verdiende, dan is het wel degene die aan het hoofd staat van AMD's videokaarten tak!

Al die vijf maanden bleef het wachten op een antwoord van nVidia. Bij de introductie van de Radeon HD 5870 hoopten we nog dat nVidia's DirectX 11 kaart voor de kerst in winkel zou liggen. Dat heeft het bedrijf bij lange na niet gehaald. Maanden lang werd het internet overspoeld met geruchten over falende chips, dramatische yields, extreem energieverbruik en andere onheilspellende berichten. Het nVidia management bracht haar eigen salaris al terug naar 1 dollar; een mooi gebaar, maar daar komen de kaarten natuurlijk geen dag eerder van.

In november was er nog even de hoop op goed nieuws, toen nVidia bekend maakte op een eigen event informatie over de nieuwe architectuur uit de doeken te doen. Toegegeven, nVidia wist de architectuur met codenaam Fermi inderdaad keurig uit te leggen, maar één ding werd zorgwekkend duidelijk: de aangekondigde, extreem complexe chip met 3 miljard transistors bleek primair voor GPGPU-applicaties bestemd te zijn. Over gaming werd op dat moment nog niet gepraat.

nVidia is de laatste maanden vooral doorgekomen door een trucje waarin het de laatste jaren excelleert: het hernoemen van bestaande chips en kaarten. Vermoedelijk onder druk van enkele grote OEM-klanten, die ook ongeduldig begonnen te worden, kwamen er ineens diverse kaarten in de GeForce GTX 300-reeks, maar zonder enig spoor van DirectX 11 compatibiliteit. Een tijdje geleden maakt het bedrijf dan ook bekend voor haar DirectX 11 kaarten voor modelnummers in de 400-reeks te kiezen. De 300-kaarten hebben in de losse verkoop nooit bestaan. Een kat in het nauw...

Nvidia GeForce GTX 480

Nu is het echter eindelijk zover: de eerste nVidia kaarten met DirectX 11 functionaliteit komen vandaag op de markt. nVidia's antwoord op de Radeon HD 5850, 5870 en 5890 kaarten heet GeForce GTX 470 en GTX 480. In een uitgebreide test lees je vandaag op Hardware.Info hoe de GTX 480 zich verhoudt tot de concurrenten. In dit artikel lees je meer over de technologie die aan beide kaarten ten grondslag ligt, de GF100 GPU met de genoemde Fermi architectuur.

GF100

Tot een paar jaar geleden hadden ATI en nVidia dezelfde strategie bij het uitbrengen van nieuwe GPU's: men begon een nieuwe generatie bij een zo snel mogelijke high-end chip en ging na een succesvolle introductie daarvan aan de slag om gaandeweg kleinere en goedkopere afgeleides daarvan te ontwikkelen. Bij de laatste drie generaties is ATI daarvan afgestapt: het ontwikkelen van state-of-the-art, super grote en super complexe 3D-chips werd door de fabrikant als te risicovol gezien. De nieuwe strategie was chips primair kleiner en goedkoper ontwerpen. High-end kaarten zouden gemaakt kunnen worden door twee van deze chips te combineren en de simpelere chips zijn daarnaast ook eenvoudiger terug te schakelen naar budget varianten. Die strategie heeft ATI bij de 3000-, 4000- en vooral bij de 5000-serie succesvol ingezet. We schreven al dat AMD in vijf maanden tijd een volledige line-up DirectX 11 kaarten op de markt kon brengen. nVidia houdt vast aan het oude concept van bij iedere generatie de limieten van wat technisch mogelijk is opzoeken en daardoor een zo snel en krachtig mogelijke GPU ontwerpen. Volgens die filosofie is ook de GF100 ofwel Fermi chip ontworpen: een zo snel en krachtig mogelijke GPU als de stand van de techniek toelaat. Met helaas dus de nodige vertraging wegens problemen tijdens ontwerp en fabricage als gevolg.

Als we de moeizame aanlopen even laten voor wat het is, is de GF100 chip een technisch hoogstandje. Om maar meteen met het meest indrukwekkende gegeven te beginnen: de middels een 40nm procedé gefabriceerde chip bevat maar liefst 3 miljard transistors. Om dat in perspectief te plaatsen: de Cypress chip van de ATI Radeon HD 5870 bevat 2,15 miljard transistors (iets meer dan 2/3de dus) en zelfs dat is al bijzonder veel, als je bedenkt dat de pas geleden geïntroduceerde 6-core Intel Gulftown pas de eerste op consumenten gerichte processor is die het aantal van 1 miljard transistors overstijgt. De chip wordt gefabriceerd bij TSMC, dezelfde chipbakker die ook verantwoordelijk is voor de ATI Radeon HD 5000 reeks chips. De GF100 is dus absoluut niet de eerste 40nm chip die dit Taiwanese bedrijf produceert, maar vermoedelijk wel de meest complexe.

De voor gamers belangrijkste eigenschap van de GF100 is natuurlijk de geschiktheid voor DirectX 11 en daarmee samenhangende technologieën als tesselation. Maar de GF100 is bovenal ook een chip die nVidia's aspiraties in de zakelijke markt in een stroomversnelling moet brengen: de chip is getuned om zogenaamde GPGPU's programma's zo snel mogelijk te kunnen uitvoeren. Naast de GeForce GTX 470 en GTX 480 komt nVidia dan ook met professionele Tesla videokaarten op basis van dezelfde chip.

In onderstaande afbeelding zien we het blokschema van de GPU. De chip is gebouwd rond vier identieke Graphic Processing Clusters ofwel GPC's. Elk van die GPC's bestaan weer een uit een viertal Streaming Multiprocessor blokken, welke op hun beurt weer uit 32 shader units ofwel Cuda cores, zoals nVidia ze tegenwoordig noemt, bestaan. Zo'n groepje van 32 rekeneenheden voert altijd identieke berekeningen op verschillende stukken data uit. In totaal bevat de GF100 chip dus 4 x 4 x 32 = 512 shader units, een aantal dat ruim twee keer hoger ligt dan bij de GT200 chip, die 240 shader units heeft. 

Boven de vier Graphics Processing Clusters, vinden we de zogenaamde GigaThread Engine. Alle instructies arriveren bij dit onderdeel van de chip dat bepaalt welke taken door welke onderdelen van de chip moeten worden uitgevoerd. De GigaThread Engine moet er dus voor zorgen dat alle cores binnen de chip op ieder moment zo efficiënt mogelijk hun werk kunnen doen. Alle uit te voeren taken worden opgedeeld in verschillende threads en daarna naar de Streaming Multiprocessors gezonden. Verder zien we in het blokschema een zesvoudige geheugencontroller een een flink brok L2-cache geheugen. De zes geheugencontrollers zijn elk 64-bit breed, waardoor de GF100 in totaal over een 384-bit brede geheugenbus beschikt. De controllers zijn geschikt voor het moderne GDDR5 geheugen, wat een geheugenbandbreedte tussen de 150 en 200 GB/s moet opleveren. Ter vergelijking: de oorspronkelijke Geforce 256 had een maximale geheugenbandbreedte van 2,7 GB/s.

Het L2-cache geheugen kan door alle Streaming Multiprocessors gebruikt worden. Deze L2-cache zorgt er ondermeer voor dat de verschillende rekeneenheden snel data kunnen uitwisselen, iets waar GPGPU applicaties juist extra van kunnen profiteren. Rondom het L2 cache vinden we de ROP-units (Raster Operations Pipeline), de eenheden die op basis van de gegevens uit de cores de uiteindelijke kleuren van de pixels op het scherm verwerken. Er zijn zes clusters met elk acht ROP-units aanwezig, wat een totaal aantal van 48 ROP-units voor de GF100 chip oplevert. Ter vergelijking: de GT200 chip beschikt over 32 ROP-units. Deze grotere hoeveelheid ROP-units zorgen er ondermeer voor dat er complexere vormen van anti-aliasing toegepast kunnen worden en dat anti-aliasing minder snel een grote bottleneck voor de performance wordt.

De uit "blokjes" samengestelde architectuur is volgens nVidia enorm flexibel: zo stelt het bijvoorbeeld een mid-range GF100 met de helft aan Graphics Processing Clusters en een beperkt aantal geheugencontrollers op de markt te kunnen brengen. Op die manier kan nVidia relatief eenvoudig een variant met bijvoorbeeld 256 Cuda cores en een 128-bit geheugenbus fabriceren. Met de nadruk op relatief overigens; want de ervaring leert dat er bij nVidia in de regel een hele tijd tussen kan zitten eer een high-end chip wordt omgebouwd tot mid-range exemplaar.

In onderstaande tabel hebben we de belangrijkste verschillen tussen de GT200 en GF100 chip samengevat. Een aantal van de zaken in de tabel, zoals de PolyMorph Engines, komt verderop in dit artikel aan bod.

  GT 200 GF100
Transistors 1,4 miljard 3 miljard
Shader units / Cuda cores 240 512
Raster Engines 1 4
PolyMorph Engines - 16
Special Function Units (per SM) 2 4
Texture Units 80 64
ROP's 32 48
Warp Schedulers (per SM) 1 2
Shared Memory (per SM)
16 kB 48 / 16 kB
L1 Texture Cache (per quad) 12 kB 12 kB
Dedicated L1 Load/Store Cache (per SM)
- 16 / 48 kB
L2 Cache 256 kB (alleen voor textures) 768 kB (flexibel)
Concurrent Kernels - Up to 16

Streaming Multiprocessors

De GF100 chip is zoals gezien opgebouwd uit een 16-tal Streaming Multiprocessors, die elk bestaan uit 32 cores. Overigens zijn in de praktijk niet al deze zestien SM's actief: bij de GeForce GTX 480 zijn er 15 ingeschakeld (480 cores) en bij de GeForce GTX 470 zijn er 14 ingeschakeld (448 cores). Zoals geschreven voeren alle cores binnen een Streaming Multiprocessor op ieder moment in tijd een identieke bewerking uit, zij het op verschillende stukken data. In onderstaande afbeelding zien we hoe zo'n SM is opgebouwd.

Bovenin de Streaming Multiprocessor vinden we de Instruction Cache, de vergaarbak waarin alle door de betreffende SM uit te voeren instructies worden verzameld. Deze instructies worden zoals besproken centraal aangevoerd vanuit de Gigathread Engine. Alle taken worden in een tweetal Warp Schedulers verdeeld in zogenaamde Warps, combinaties van telkens maximaal 32 identieke instructies, die door de onderliggende cores gelijktijdig kunnen worden uitgevoerd.

Elke Streaming Multiprocessor bevat zoals besproken 32 shader units ofwel Cuda cores. Al deze mini cores bestaan uit een volledige integer en floating point rekeneenheid. Elke core kan per klokslag een 32-bit (single precision) floating-point berekening afronden. Voor 64-bit (double precision) instructies heeft een core een tweetal klokslagen nodig, bij de GT200 waren er dat nog 8. Naast de cores bevat iedere SM een 16-tal Load/Store Units die instructies met betrekking tot het ophalen van data uit het geheugen of juist het wegschrijven van data kunnen uitvoeren. Verder is er een viertal Special Function Units (SFU) die speciale bewerkingen als sinus-, cosinus- en wortelberekeningen kunnen uitvoeren. Elke SFU kan één instructie per klokslag verwerken. Het voltooien van een warp instructies door de SFU's duurt zodoende 8 klokslagen.

Onder de verschillende verwerkingseenheden vinden we in iedere SM een viertal Texture Units, die zorg dragen voor het op een juiste manier verwerken van texture-afbeeldingen die op driehoeken worden geplakt. Aangezien er zich zestien Streaming Multiprocessor blokken bevinden binnen de GF100 chip, bedraagt het totaal aantal texture units 64. De oplettende lezer zal opmerken dat dit er minder zijn dan de 80 stuks in de GT 200 chip. Volgens nVidia is er echter geen reden tot paniek: de texture units in de GF100 hebben heel wat optimalisaties achter de rug, waardoor ze betere prestaties leveren dan hun soortgenoten in de GT200. De winst is te danken aan een efficiënter gebruik van het cache geheugen en een hogere kloksnelheid. De texture units werken voortaan op de helft van de shader snelheid. In de GT200 chip werken de eenheden op dezelfde snelheid als die van de GPU-core zelf, welke in de regel veel minder dan de helft van de shader klokfrequentie bedraagt.

Tussen de cores en de texture units vinden we 64 kB geheugen. Dit geheugen kan geschakeld worden tussen 16 kB L1-cache + 48 kB shared memory of 48 kB L1-cache + 16 kB shared memory. De GT200 had op deze plek alleen 16 kB shared memory. Onderin de SM's vinden we zogenaamde PolyMorph engine, die ondermeer zorg draagt voor tesselation, waarover meer op de volgende pagina.

DirectX 11 en Tesselation

Eén van de belangrijkste nieuwe features in DirectX 11 is ongetwijfeld tesselation, een technologie waardoor de GPU het detail van 3D objecten drastisch kan verhogen door op eigen houtje het aantal driehoeken waaruit objecten zijn opgebouwd te verhogen. AMD spoort developers aan om meer gebruik van tesselation te maken en ook nVidia is deze weg ingeslagen. Tesselation is de belangrijkste reden waardoor DirectX 11 games een stuk mooier kunnen zijn dan DirectX 10 games.

Omdat het gebruik van tesselation een flinke impact op de prestaties kan hebben, heeft nVidia de eerder genoemd PolyMorph Engine ontwikkeld. Dit gedeelte van de chip verwerkt de tesselation instructies en maakt daarbij gebruik van de rekenkracht van de Cuda cores. Op dit vlak is er dus een groot verschil tussen de implementatie van AMD en die van nVidia: de Radeon HD 5000 chips hebben alle een enkele tesselation unit, die al deze berekeningen uitvoert. Bij de GTX 480 is er per SM een tesselation unit, maximaal 16 stuks dus. Zodoende heeft de GTX 480 in potentie veel meer tesselation rekenkracht dan de chips van AMD, iets wat we in onze test van de GeForce GTX 480 ook bevestigd zien. 

Omdat het zo'n belangrijk onderdeel van de chip is, herhalen we nog een keer wat tesselation nu exact behelst. Tesselation komt neer op het automatisch verbeteren van het detail en daarmee de beeldkwaliteit van 3D-games. Zoals bekend zijn alle objecten binnen 3D games opgebouwd uit tientallen, honderden of vaak zelfs duizenden driehoeken. Hoe meer van deze triangles worden gebruikt voor een object, hoe meer detail er zichtbaar is. Maar ook: hoe meer triangles, des te meer werk er is voor de ontwerpers en hoe zwaarder de videokaart belast wordt. Dankzij tesselation kan een game engine aan de videokaart vragen om het aantal driehoeken van een object te vergroten. Eén bestaande driehoek wordt dan opgedeeld in meerdere nieuwe exemplaren. Door dit op een slimme manier te doen, wordt er meer detail gecreëerd.

Eén van de manieren om tesselation toe te passen, is gebruik maken van wiskundige formules, zoals n-patches of Bezier-krommen. Bij gebogen oppervlaktes kan met zulke functies door de videokaart worden berekend waar de nieuwe triangles moeten komen; hoe meer driehoeken er worden toegevoegd, hoe beter het uiteindelijke 3D-object er uiteindelijk uitziet. Een mooiere methode is het gebruiken van een zogenaamde displacement map. Hierbij wordt er een zwart-wit afbeelding over een 3D-object gelegd, waarbij de helderheid van de pixels aangeeft hoe diep de reliëfwerking van het betreffende object moet zijn. In theorie zou je een mooi berglandschap in een game kunnen creëren door de videokaart twee driehoeken aan te leveren, welke deze door middel van tesselation van meer detail voorziet, en met behulp van een displacement map in bergen omtovert. Een interessant gegeven is dat veel game developers dergelijke displacement maps al beschikbaar hebben. Ze worden immers ook toegepast als normal map in bestaande games om per pixel de lichtinval van een object aan te passen, om op die manier extra detail te simuleren. Door de bestaande normale maps in te zetten als displacement maps, wordt extra detail niet langer gesimuleerd, maar daadwerkelijk gecreëerd, met als resultaat dat het eindresultaat er een stuk beter uit ziet en ook alle schaduwen en dergelijke blijven kloppen.

Een laatste interessante eigenschap van tesselation: game developers kunnen de hoeveelheid extra triangles die in real time worden aangemaakt laten afhangen van de snelheid van de videokaart. Op die manier kunnen snelle kaarten een spel stukken mooier maken, terwijl het zelfde spel ook direct speelbaar is op goedkopere kaarten.


Uit hoe meer driehoeken een 3D-object bestaat, hoe meer detail er zichtbaar is.


Een model uit een 3D-game wordt dankzij tesselation eerst voorzien van extra driehoeken, daarna zorgen displacement mapping en texturing voor extra detail en de juiste kleuren.

Tesselation demo's

Inmiddels wordt tesselation in steeds meer moderne DirectX 11 games en benchmarks toegepast. Een goed voorbeeld is de Heaven demo van Unigine. In onderstaand filmpje tonen we je het effect van tesselation. Aan het begin van het filmpjes zetten we tesselation een aantal keren uit en aan. Je ziet dat het detail bij het uitschakelen flink afneemt; dat zie je niet alleen bij de draak, maar bijvoorbeeld ook aan het relief van alle stenen. Vanaf 10 seconden schakelen we de wireframe modus in, waardoor je kunt zien hoe het beeld uit driehoeken is opgebouwd. Wanneer we dan opnieuw tesselation uit en aan zetten, zie je duidelijk dat het aantal driehoeken gigantisch toeneemt. Aan het eind van het filmpje zie je dat tesselation dynamisch werkt: zodra objecten zich verder van de kijker bevinden en daardoor uit minder pixels bestaan, wordt de mate van tesselation automatisch teruggebracht. Ver weg zie je het verschil in detail immers toch niet en op die manier wordt er flink rekenkracht bespaard. Tip: bekijk het filmpje in 720p of 1080p op YouTube om het verschil goed te zien.

nVidia heeft zelf ook een aantal mooie tesselation demo's gemaakt. De mooiste is wat ons betreft de Island demo. Hierin wordt tesselation toegepast om ongekend realistisch water te maken. In onderstaand filmpje zie je wat er gebeurt wanneer we de mate van tesselation terugschroeven: het water wordt dan een stuk minder mooi en lijkt meer op zoals we water kennen uit huidige games. Let ook op de bergen achterin: ook daar wordt tesselation gebruikt om het landschap meer detail te geven. Ook dit filmpje kun je het best in 720p of 1080p bekijken om de details goed te zien.

Ten slotte zie je hieronder nVidia's hair demo. Hier wordt tesselation gebruikt om realistisch haar te renderen. De truc is als volgt: het model bestaat standaard slechts uit een beperkt aantal haren. Dankzij tesselation rekent de GPU er meer haren bij. Dat zien we duidelijk, wanneer we in onderstaand filmpje de mate van tesselation beperken. In deze demo wordt ook veel physics-effecten toegepast om het haar op een realtistische wijze in de wind te laten wapperen.

PhysX

Het woord physics viel al, en is ook één van de buzzwords bij moderne games en bij de nVidia GF100 chip. We moeten hierbij onderscheid maken tussen physics en PhysX: physics is de verzamelnaam voor natuurkundige berekeningen binnen 3D-games die beelden en gameplay realistischer moeten maken. Denk aan het realistisch laten instorten van gebouwen en laten ontploffen van objecten, maar ook het wapperen van een vlag of menselijk haar in de wind zijn natuurkundige berekeningen. Dergelijke berekeningen zijn erg complex, en zeker door de CPU een zware belasting. Geen wonder dat de meeste karakters binnen 3D-games óf kaal zijn óf een helm, hoed of pet op hebben. PhysX is nVidia's framework om physics-berekeningen door de GPU te laten doen, waardoor ze veel sneller en efficiënter kunnen worden uitgevoerd. Door nVidia GPU's wel te verstaan, want PhysX werkt niet op ATI Radeon chips. Dat is ook direct de reden waarom game developers niet bepaald in de rij staan om PhysX te implementeren. Desalniettemin worden dit soort effecten in moderne games teeds belangrijker en gelukkig brengt DirextX 11 ook hier een oplossing: het DirectCompute gedeelte van de nieuwe DirectX-versie biedt spelontwikkelaars de mogelijkheid om op een gestandaardiseerde manier de 3D-chip in te zetten voor andersoortige berekeningen, waaronder dus voor physics berekeningen. Met de komst van DirectX 11 kan deze technologie waar we al jaren over praten eindelijk echt gaan doorzetten.

We schreven al dat de GF100 chip eigenlijk primair is ontwikkeld als GPGPU-chip en zodoende is nVidia's nieuwste GPU ook bijzonder geschikt voor dergelijke taken. Om dat te demonstreren heeft nVidia een speciale demo gemaakt waarin naast tesselation en andere DirectX 11 effecten worden gebruikt, voornamelijk physics de boventoon voert. De demo is geïnspireerd op de experimenten die de Amerikanen deden voordat ze de eerste raketlanceringen gingen doen. Om te analyseren hoe mensen reageren op extreme g-krachten, maakten ze een soort slee op spoorrails met een gigantische raketmotor achterop. In het filmpje hieronder zie je ontelbare physics effecten: de manier waarop het voertuig beweegt als gevolg van de stuwkracht, de gelaatsuitdrukken van de onfortuinlijke bestuurder, de manier waarop het schuurtje halverwege en de brug aan het eind instorten en zelfs alle rook die uit de motor komt wordt op een natuurkundig correcte manier gemodelleerd.

Vanaf 0:30 tonen we nogmaals hoe de brug instort. Je ziet duidelijk dat de brug is gemodelleerd uit vele kleine onderdelen die op een realistische manier uit elkaar spatten. Vanaf 0:44 krijg je een kleine blik in de keuken, wanneer we het gebruikte physics-model zichtbaar maken. Je ziet dat het voertuig is opgedeeld in verschillende onderdelen, die allemaal afzonderlijk natuurkundig gemodelleerd worden. Kleine, bijna onzichtbare pijltjes tonen de bewegingsvectoren die berekend zijn. Zodra het voertuig vertrekt zie je dat de pijlen veel langer worden, als gevolg van de krachten van de motor. Ook hier geldt: bekijk het filmpje vooral in 720p of 1080p om de details goed te zien.

GPGPU

GPGPU (General Purpose GPU), ofwel het inzetten van de 3D-chip voor andere dan 3D-berekeningen, is één van de speerpunten van de nieuwe chip. Veel van de verbeteringen binnen de GPU, waaronder de toegevoegde L2-cache, het grotere blok gedeeld geheugen binnen de Streaming Multiprocessors, de snellere verwerking van double precision getallen binnen de cores en de dubbel uitgevoerde Warp Schedulers, zijn voornamelijk gemaakt om andersoortige software zo snel mogelijk uit te voeren. Geen wonder dat nVidia op (vermoedelijk korte) termijn ook met professionele GF100-varianten onder de Tesla merknaam op de markt komt. Developers die GPGPU-applicaties willen maken, hebben inmiddels ruime keuze hoe ze dat kunnen doen. nVidia heeft nog altijd haar eigen CUDA-programmeeromgeving, speciaal gericht op de eigen GPU's. Nieuw zijn DirectCompute (onderdeel van DirectX 11) en OpenCL, twee GPGPU programmeeromgevingen die niet gebonden zijn aan één chipleverancier.

Om programmeurs verder van dienst te zijn, heeft nVidia nog een aantal belangrijke zaken doorgevoerd. Allereerst kan de GF100 voor het eerst met C++-achtige code aangestuurd worden. Daarnaast biedt nVidia met hun nieuwe Nexus software developers de mogelijkheid om vanuit de bekende Visual Studio programmeeromgeving GPCPU code te ontwikkelen én te debuggen. Op die manier wil nVidia het een stuk simpeler maken om dergelijke software te ontwikkelen.

De komende jaren moet GPGPU ook voor consumenten een steeds belangrijkere rol gaan spelen. Er zijn al de nodige voorbeelden: zo hebben ATI en nVidia al sinds jaar en dag voor GPU's geschikte versies van Folding@Home. Ook voor de GF100 komt men met een nieuwe versie en dat wordt - volgens nVidia althans - de eerste F@H implementatie die meer dan 1μs/dag kan simuleren. Kenners weten dat dat bloedsnel is. Andere toepassingen zijn de Badaboom video-encoder en Cyberlink PowerDirector dat de GPU gebruikt voor video-effecten.

Helaas zijn er op dit moment nog geen GPGPU programma's die dankzij DirectCompute of OpenCL kaarten van ATI en nVidia op identieke wijze aansturen. Benchmarken zit er dus nog niet in. Maar we schreven het al eerder: dankzij beide nieuwe API's zou het de komende jaren nog wel eens hard kunnen gaan met dergelijke applicaties.

Raytracing

Een GPGPU workload waar al vaak over wordt gesproken, is het inzetten van de GPU voor het uitvoeren van raytracing, een andere manier van 3D rendering die zeer realistische beelden kan opleveren. In een notendop werkt raytracing door alle lichtstralen afkomstig uit een lichtbron door te rekenen, inclusief alle relecties, totdat ze in de camera terecht komen. Klik hier voor een uitgebreid achtergrond artikel over ray-tracing. De architectuur van de GF100 leent zich hier zeer goed voor en zodoende heeft nVidia voor het eerst een demo kunnen maken van "real-time" raytracing. Lees: je hoeft absoluut nog geen 30 beelden per seconde te verwachten, maar het duurt in ieder geval geen minuten of tientallen seconden meer eer een beeld op het scherm staat. nVidia's demo bestaat uit het ray-tracen van auto's, inclusief de voor deze rendermethode bekende realistische belichtingstechnieken.

Wie hoop op ray-tracing binnen games, mag volgens nVidia achter nog vele jaren wachten. Pas over 5 à 10 jaar zouden GPU's volgens nVidia snel genoeg moeten zijn om deze rendermethode echt met meer dan 30 beelden per seconde toe te passen. In de tussentijd verwacht men dat er wel wat hybride oplossingen komen: zo filosofeert nVidia openlijk over de mogelijkheid om in race-games je favoriete screenshot van een zelf ontworpen auto via ray-tracing nog mooier te maken. Voor een enkele screenshot is het immers niet erg als je een paar seconden moet wachten. Over een paar jaar zou het volgens nVidia al mogelijk moeten zijn om de belichtingseffecten binnen een game via ray-tracing te doen. We wachten geduldig af...


3D Vision Surround

Als antwoord op AMD's Eyefinity komt nVidia met 3D Vision Surround: net als bij EyeFinity kun je met deze technologie drie schermen tegelijk aansturen, maar nVidia voegt daar, niet geheel verrassend, ondersteuning voor 3D-schermen aan toe. Om hiervan gebruik te kunnen maken heb je drie 120 Hz 3D monitoren nodig, een 3D Vision bril van nVidia en twee videokaarten die in SLI geplaatst moeten worden. 3D Vision Surround zal ook met de GT200 werken, nVidia komt hiervoor met een aangepaste driver. Maar vergeet niet: de beelden voor drie schermen in 3D berekenen is 6x meer werk als een normaal beeld voor een enkel scherm. Een snelle videokaart gebaseerd op de GF100 chip is dan geen overbodige luxe.

De vereiste om twee kaarten in SLI te gebruiken voor het aansturen van drie monitoren is een behoorlijk nadeel, zeker omdat Eyefinity bij AMD op één videokaart werkt. Echter, de invloed op de prestaties is natuurlijk best groot wanneer een videokaart een beeld van 5760x1080 pixels moet produceren (drie maal 1920x1080). Door het gebruik van twee videokaarten te verplichten garandeert nVidia dat er genoeg rekenkracht beschikbaar is om drie resoluties te berekenen. Daarnaast kent nVidia de eis niet om minstens één DisplayPort aansluiting te gebruiken, omdat elke videokaart over twee DVI aansluitingen beschikt. Dit resulteert op korte termijn dan in de mogelijkheid goedkopere monitoren te gebruiken; op de langere termijn vervalt dit voordeel, naarmate DisplayPort meer ingeburgerd raakt zal het prijsverschil verdwijnen. Uiteraard is nVidia niet zo onverstandig om Vision Surround alleen in 3D beschikbaar te stellen: niet iedereen wil in 3D gamen en Vision Surround zal ook een 2D modus kennen.

HDMI 1.4

Praat je tegenwoordig over 3D, dan komen ook direct de vele 3D TV's die de komende maanden op de markt verschijnen ter sprake. Ook op dat vlak is er goed nieuws: de GF100 chip is in de basis geschikt voor de HDMI 1.4 standaard die nodig is om 3D-beelden in zo'n modern scherm te voeren. Maar dat is niet direct 'out of the box' het geval: je moet daarvoor de zogenaamde 3DTV Play software aanschaffen.

Zowel de 1080p24, 720p60 als 720p50 modi worden ondersteund. Naar verluidt zijn er hiervoor geen andere aanpassingen aan de kaart nodig: fysiek gezien is een HDMI 1.3 kabel ook geschikt voor HDMI 1.4, met uitzondering van de Ethernet verbinding die bij de nieuwe versie is toegevoegd. Behalve het aansluiten van HDMI 1.4 televisies maakt 3DTV Play nog enkele andere dingen mogelijk. Zo kunnen er 3D Blu-ray films mee worden afgespeeld met hardwareversnelling en wordt het streamen van 3D video mogelijk.

3DTV Play werkt met alle moderne GeForce kaarten voor desktops en notebooks. nVidia stelt dat het pakket deze lente nog op de markt komt. Wie over een 3D Vision pakket beschikt zal dan de software gratis kunnen downloaden; ook wordt 3DTV Play los verkocht voor een Amerikaanse adviesprijs van USD 40.

Video

Op de ondersteuning voor 3D Blu-ray schijven na is er op videovlak in de Fermi architectuur weinig tot niets veranderd ten opzichte van de vorige generatie videokaarten. Daar hoeven we niet direct rouwig om te zijn, want de video ondersteuning van nVidia is op dit moment al op topniveau. De kaart biedt hardwarematige decoders voor MPEG-2, MPEG-4 ASP, MPEG-4 AVC (H.264) en VC-1. Weergave van twee gelijktijdige videostreams, zoals benodigd voor Blu-rays met picture-in-picture functionaliteit, wordt ondersteund. Eerder al concludeerden we dat postprocessing als motion-adaptive deinterlacing en ruisonderdrukking op een uitstekende manier uitgevoerd worden. De HDMI 1.3 connectie biedt je de mogelijkheid om moderne audioformaten als Dolby Digital True HD en DTS Master Audio naar een externe versterker te exporteren. Kort maar krachtig dus: op het vlak van video blijft er ook bij de de GF100 niets te wensen over.

Conclusie

Eindelijk weten we wat nVidia's antwoord op ATI's DirectX 11 line-up gaat worden. De Fermi architectuur is echter duidelijk volgens een andere filosofie ontwikkeld: het plan bij de GF100 chip is vanaf het begin geweest om een zo complex en krachtig mogelijke chip te maken als de stand van de techniek toelaat. Met 512 cores is de GF100 alleen op dat vlak al twee keer zo krachtig als z'n voorloper. Met 3 miljard transistors is het met afstand de meerst complexe chip die ooit voor consumententoepassingen ontwikkeld is. Zelfs als alle "warp schedulers" en  "streaming multiprocessors" je een beetje boven het hoofd stijgen, mag je concluderen dat de GF100 een akelig snelle chip is en in potentie een stuk sneller dan de chips van ATI. Een belangrijke troef is de aanwezigheid van 16 tesselation units, wat bij moderne games voor een flinke performance boost kan zorgen. Maar zoals je kunt lezen in onze test van de GeForce GTX 480 komen de prestaties met een prijs en dan hebben we het niet alleen over Euro's: ook het stroomverbruik van de GF100 blijkt véél hoger te liggen dan wat we van ATI gewend zijn.

De volgende stap voor nVidia is natuurlijk het ontwikkelen van kleinere en goedkopere varianten van de GF100 chip, geschikt voor mid-range videokaarten. De Fermi architectuur leent zich daar prima voor; nVidia kan "simpelweg" bijvoorbeeld twee van de GPC-clusters en vier van de zes geheugencontrollers weglaten om een mid-range chip te bouwen. In de praktijk pakt dat echter meestal minder eenvoudig uit, dus wanneer we daadwerkelijk goedkopere nVidia DirectX 11 kaarten mogen verwachten, is nu nog niet in te schatten.

Hoe dan ook, de Fermi architectuur is er eindelijk en de nVidia demo's tonen tot wat de architectuur in staat is. In onze test van de GeForce GTX 480 lees je wat je in de praktijk van Fermi mag verwachten.

Nvidia GeForce GTX 480


Besproken producten

Vergelijk  

Product

Prijs

Asus ENGTX470/2DI/12GD5

Asus ENGTX470/2DI/12GD5

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Asus ENGTX480/2DI/15GD5

Asus ENGTX480/2DI/15GD5

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
EVGA GeForce GTX 470 1280MB

EVGA GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
EVGA GeForce GTX 480 1536MB

EVGA GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Gainward GeForce GTX 470 1280MB

Gainward GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Gainward GeForce GTX 480 1536MB

Gainward GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Gigabyte GV-N470D5-13I-B

Gigabyte GV-N470D5-13I-B

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Gigabyte GV-N480D5-15I-B

Gigabyte GV-N480D5-15I-B

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
MSI N470GTX-M2D12

MSI N470GTX-M2D12

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
MSI N480GTX-M2D15

MSI N480GTX-M2D15

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
Nvidia GeForce GTX 470

Nvidia GeForce GTX 470

  • GF100
  • 448 cores
  • 607 MHz
  • 1280 MB
  • 320 bit
  • DirectX 12 fl 11_0
  • PCI-Express x16
Niet verkrijgbaar
Nvidia GeForce GTX 480

Nvidia GeForce GTX 480

  • GF100
  • 480 cores
  • 700 MHz
  • 1536 MB
  • 384 bit
  • DirectX 12 fl 11_0
  • PCI-Express 2.0 x16
Niet verkrijgbaar
Point of View GeForce GTX 470 1280MB

Point of View GeForce GTX 470 1280MB

  • Nvidia GeForce GTX 470
  • 1280 MB
Niet verkrijgbaar
Point of View GeForce GTX 480 1536MB

Point of View GeForce GTX 480 1536MB

  • Nvidia GeForce GTX 480
  • 1536 MB
Niet verkrijgbaar
0
*