Hoofdcategorieën
Device Settings

Nvidia en AMD gaan afhandeling AI naar gpu verhuizen

Door Marc Rademaker, donderdag 22 januari 2009 13:58, views: 15.476

AMD en Nvidia gaan de gpu gebruiken om AI in games te verzorgen. Beide bedrijven zouden al met diverse spelontwikkelaars samenwerken, maar de eerste spellen met gpgpu-AI zouden nog meer dan een jaar op zich laten wachten.

PhysxZowel AMD's Stream als Nvidia's Cuda zouden geschikt zijn om de kunstmatige intelligentie in games te versnellen. Richard Huddy van AMD vertelde aan Custom PC dat de parallelle rekenkracht van de gpu bij uitstek geschikt is voor onder andere path-finding en collision detection. Niet alleen heeft het AI-rekenwerk baat bij het parallellisme van de gpu's, ook de instructiesets van de videochips zouden beter voor de kunstmatige-intelligentieroutines geschikt zijn dan die van cpu's. Beide bedrijven melden dat ze al met verschillende spelontwikkelaars samenwerken.

StreamNadeem Mohammad van Nvidia schat dat het nog tussen de twaalf en achttien maanden duurt voordat het eerste spel uitkomt waarin de AI door de gpu berekend wordt. Chris Jurney van Relic Entertainment zegt dat bijvoorbeeld de kunstmatige intelligentie in het spel Dawn of War II uitermate geschikt is om op de gpu berekend te worden. Hij plaatst hier echter wel een kanttekening bij: terwijl de cpu na een bepaalde bewerking altijd hetzelfde resultaat geeft, kunnen de resultaten van Cuda en Stream onderling significant verschillen. Het is dus noodzakelijk dat er een gemeenschappelijke api ontwikkeld wordt, wil de technologie bij met name developers aanslaan.

 

Volgende 14:29 YouTube test 'koop nu'-functie met dvd's en games
Vorige 13:47 Apple: geen iPhone nano of Apple-netbook op komst
Advertentie

Reacties

«  1  2  3  »

AMD heeft dit ook al laten zien met hun 'froblins'. Welke op de HD4 serie laat zien dat je duizenden beestjes path-finding en collision detection kan laten doen.
Froblins demo demonstrates how GPGPU computations can be used to enhance gameplay by tapping the powerful parallel processing capabilities of modern GPUs to accelerate Artificial Intelligence algorithms. Artificial Intelligence (or AI) is generally considered to be one of the key components of any computer game, since it controls how all other characters behave and interact with the player. A more sophisticated AI system allows for more interesting and fun gameplay.
The Froblins demo uses the GPU to perform pathfinding calculations for thousands of characters in parallel. These calculations are updated many times per second, allowing the characters to start exhibiting emergent behaviors, such as lane formation, queuing, and reactions to other characters
http://ati.amd.com/techno...ting/consumer-gaming.html

Edit: Ook laat het DX10.1 en Hardware Tesselation zien.

[Reactie gewijzigd door Reinman op donderdag 22 januari 2009 14:28]


Filmpje
http://nl.youtube.com/watch?v=b11T3QYuPaA (slechte kwaliteit maar laat de snelheid goed zien)
http://nl.youtube.com/watch?v=bka2zm-vhms (HD kwaliteit met belabberde framerate)

Wow. Dat zou echt ideaal zijn voor een remake van Settlers 3 of 4. Zoveel units op het scherm maar toen nog 2D.

veel van de units van settlers 3 of 4 stonden stil, en hadden vaste en relatief simpele paden (niet meer zo vast als bij 2 maar toch) om over te lopen. dit is veel ingewikkelder aangezien het een open ongeving is en er geen voorgeprogrammeerde paden zijn.

ook zijn er volgens mij veel meer froblins in beeld als dat er setters konden zijn, en wat niet in beeld is moet nogsteeds aan pathfinding doen. alles bij elkaar echt honderden froblins .
(edit: 3000! zijn het er zie ik net in de uitleg).

als je deze demo download (ja heeft met 4+ uur gekost @ 20kb/s... ander server als de ati driver server dat is zeker) dan kan je ook obstakels neerzetten waar ze voor wegrennen (gif of een groot eng froblin spook bijvoorbeeld. ze reageren er echt direct op en lopen in alle richtingen weg. erg vermakkelijk maar laat ook duidelijk zien dat ze echt door hun eigen pathfinding worden aangestuurd en er niks voorgeprogrammeerd is en ze niet aan 'follow the leader doen' .
en toch staat er NOOIT een stil omdat hij vast staat door andere froblins.
erg indrukwekkend moet ik zeggen.
ik hoop dat ze dit gaan toevoegen in games als supreme commander 2 of 3.

[Reactie gewijzigd door Countess op vrijdag 23 januari 2009 00:29]


lijkt em eerder nuttig voor de total war reeks.
waar echt duizenden units worden gerendered ( er word wel wat gecheat, maar alsnog zeeer impressive) als je dat zou kunne laten doen door je gpu
( en evt de echt complexe AI op de cpu bijvoorbeeld )
dan wordt het wel leuk...
de gpu begint steeds meer de General Processing Unit te worden...

de total war reeks doet dus aan 'follow the leader' (1 unit bepaald waar hij heen wil en hoe, de rest volgt hem zo dicht mogelijk, in formatie waar mogelijk).
wat logische is voor dat spel aangezien het om militare eenheden gaat. en als er dan 50 van die leiders op het scherm staan dan was het al best heel veel voor dat spel.
in supreme commander kon jij al 500 units hebben evenals je tegenspeler. en hoewel daar ook gebouwen tussen zaten, had je toch zeker allebij 300-350 active unites op het veld. en ging je met meer computer spelers spelen dan merkte je echt dat het spel het moeilijker kreeg naarmate er meer units bij kwamen.

zetten je dan de tijd die je CPU besteden aan pathfinding lager dan ging het ineens weer beter... maar gingen je units soms what raar doen, zeker als er veel door een kleine doorgang moesten. dan kwamen ze er maar met mondjes maten uit ipv met vele tegelijk.

[Reactie gewijzigd door Countess op vrijdag 23 januari 2009 12:24]


Leuk, maar om zoveel op de GPU te laten laat alleen maar je graphics performance inzakken. Kijk bijvoorbeeld maar naar het verschil als je PhysX aanzet, dat zorgt weldegelijk voor een redelijke inzakking van de framerate (hoewel niet zo erg als wanneer je het op de CPU zou doen).

Maar CPU's worden alsmaar sneller, vooral het soort berekeningen die nodig zijn voor physics zullen de komende jaren flink beter worden (Advanced Vector Extensions bij Sandy Bridge en SSE5 bij toekomstige AMD CPU).

[Reactie gewijzigd door knirfie244 op donderdag 22 januari 2009 14:20]


GPU's worden ook steeds sneller en ze zijn ook nog eens efficienter in dit soort berekeningen dan CPU.

Gisteren was ik toevallig aan het expirimenteren met het bruteforcen van MD5-hashes en gebruikte daarvoor een programma die zowel de CPU als de GPU gebruikt.

Een Q6600 berekent met dat programma ongeveer 40 miljoen hashes per core per seconde (op alle 4 de cores dus ongeveer 160 miljoen).

Een GeForce 8800 GTS 512 zat op 560 miljoen hashes per seconde en met een beetje aan de balkjes sleuren in Rivatuner was 650 miljoen ook haalbaar.

Dat betekent dat high-end videokaart van een jaar oud ongeveer 4x zo veel rekenkracht heeft als een high-end quadcore van een jaar oud.

Ik was niets aan het kraken, maar oprecht geinteresseerd hoe makkelijk / moeilijk het is om een specifiek wachtwoord terug te halen als je alleen de MD5 hash hebt. Het resultaat vond ik schokkend, een wachtwoord met 5 letters had ik binnen een seconde te pakken. Een wachtwoord met 6 letters binnen 7 seconden en een wachtwoord van 9 letters / cijfers lukte niet binnen een paar uur.

Ik was niets aan het kraken, maar oprecht geinteresseerd hoe makkelijk / moeilijk het is om een specifiek wachtwoord terug te halen als je alleen de MD5 hash hebt.
Jaja... zeggen ze allemaal... Just kidding ;)
Interessant. Ik dacht dat het wat langer zou duren. Toch maar langere wachtwoorden gaan gebruiken...

Om nu stellig te zeggen dat een GPU van een paar jaar oud 4x zo veel rekenkracht heeft lijkt me een beetje 'out there'. Voor bepaalde soorten berekeningen is een GPU inderdaad veel beter, maar voor een aantal andere ook juist helemaal niet. Daarom heet het ook een GPU, omdat hij is toegespitst op graphics. Nu zijn andere berekeningen ook zeer geschikt omdat ze erg lijken op berekeningen voor graphics, maar je CPU kan veel meer dan dat en daarin is hij heus wel sneller dan een GPU.

het hoeft niet allemaal door de zelfde gpu afgehandeld te worden.

met een fusion CPU zou het gemakkelijk op de GPU op de CPU gedaan kunnen worden bijvoorbeeld in de toekomst.

daarbij hebben alle GPU's met een 4:1 verhouding tussen shaders en texture units(alle hd3xxx en hd4xxx, en misschien de gt200 ook nog wel) nog wel wat shader-processors over gemiddeld genomen met huidige games.

[Reactie gewijzigd door Countess op donderdag 22 januari 2009 14:29]


het hoeft niet allemaal door de zelfde gpu afgehandeld te worden
Inderdaad. Het zou ideaal zijn als de volgende keer dat je je gpu upgrade, je je oude gpu gewoon kunt inzetten voor gpgpu taken zoals dit.

Met name in de beginperiode kan een spelmaker nog niet al te zware taken naar de gpgpu of physX chip sturen, omdat ze rekening moeten houden met mensen die zwakkere systemen hebben.

Je oude gpu zal in die situatie ruim voldoende power hebben om die taken af te handelen. (en crossfire/sli bordjes zijn niet zo duur meer tegenwoordig)

Ik zie een zelfde soort trend ontstaan als in het 386 / 486 tijdperk met de coprocessor.

Wellicht zullen we in de toekomst een voetje krijgen waar de 'GPU' in geprikt kan worden en een slot voor de videokaart, die wel compleet met geheugen en schermaansluitingen geleverd wordt.

Ongetwijfeld zullen de chips voor beide applicaties parallel ontwikkeld worden, waardoor ze nog gespecialiseerder worden en vervolgens zal dit aan de CPU toegevoegd worden.
En dit alles onder voorbehoud, want ik ben niet helderziend.

Leuk, maar om zoveel op de GPU te laten laat alleen maar je graphics performance inzakken.
Da's waar, maar slechts tot een bepaald niveau. Een GPU, ofwel het gedeelte dat deze specialistische berekeningen uitvoert, is in feite een groffe multicore processor, met 32+ cores (weet ik veel hoeveel shader units ze tegenwoordig hebben). Een extra taak daarbij, zoals pathfinding, zou gelimiteerd kunnen worden tot slechts een of twee van die cores.

Het gebruik van de GPU bij dit soort zaken staat ook nog maar in de kinderschoenen, zowel op het hardware als het softwareniveau, waar dit in de toekomst alleen nog maar verbeteren kan. Zowel Intel als AMD hebben beide een processor in de pijplijn met een geintegreerde GPU, waardoor in de nabije toekomst deze specialistische berekeningen (pathfinding e.d.) weer terug de CPU in gaan, waardoor de GPU zelf weer dedicated wordt.

Nou en die hit word bepaald hoe zwaar elke task in die game zijn, die allemaal gezamelijk op de GPU worden los gelaten.
Dus als de som van de task, zo zwaar zijn, dat de GPU maximaal en beyond gestressed wordt. Kan je aanzienlijk performance hit verwachtem.
Zijn de task in die orde dat de GPU redelijk belast wordt dan valt de hit mee.
Nu heb je zoals je zegt 32+ Unified shaders dat is meer low budged GPU's.
Ze gaan naar 1000 dat zou de nieuwe aankomende RV870 zijn. Of die dubbel geklokte nV shaders in de 240.

Dus de som van de GPU task en wat voor GPU bepaald de hit. 'N GTX285 kan meer task hebben dan 8400GS.
Die task kunnen per game nogal verschillen.
Die variablen zijn zo breed dat de Hit nihil kan zijn tot zeer extreem, En dat ook per game heel anders kan zijn.

Task: Renderen , PhysX , AI.

Daar hebben Nvidia en AMD de perfecte oplossing voor bedacht; méér GPU's kopen.

Beeld via de GPU
Physx
En strakjes ook AI.

Dan doet je CPU eigenlijk alleen nog maar het geluid :D

nee hoor... dat is namelijk al geregeld door mijn Xfi met eigen processor....

En als je Vista draait word die X-Fi tijdens elk DirectSound spel buiten spel gezet. Omgekeerde evolutie dus. (Thank Creative for ALchemy)

Geluid voor games was ongeveer het eerste na (2D) graphics wat aan een externe chip werd uitbesteed (AdLib en SoundBlaster uit de jaren 80) ;)

Euhm, die renderden het geluid niet, dat deet nog altij de CPU, Kaarten die dit deden waren volgens mij als eerste de Gravis GF1-gebaseerde kaarten, daarna de Daimond Monster Sound, en later de Sounblaster Live series en de Terratec soundsystems die AEX en A3D ondersteunden...

Mooie zaak voor de makers van strategie-spellen.

En nieuwe voluit definitie voor GPU wordt: Game Processing Unit?

Nee General Processing Unit he :).

en ondertussen zit je CPU dus op 2% van z'n capaciteit een beetje de overhead-kak van je games uit te voeren. Ik snap dat het marketing-technisch voor de continuiteit van GPUs interessant is om zoveel mogelijk features 'in te pikken' van de CPU, maar echt een meerwaarde is het niet.

Wel als de GPU gewoon beter is in het uitvoeren van deze taken.

'n Triple Task GPGPU game zal complexer kwa game zijn zodat de CPU een hoop meer voorwerk te doen heeft.

AI is per NPC kwa complexiteit 5 maal zwaarder. En 5x zoveel NPC.
25x zo zwaar. De CPU heeft dus 5x zoveel NPC te verhandelen en de computing op te zetten voor delegeren naar GPU.
Voor PhysX was zo'n 5 Physics features verdeeld over 1000 objecten, wordt 10 PhysX features over 10.000 objecten. De game mechanics moet dus 10000 objecten beheren ipv 1000.
Renderen wordt ook steeds complexer. ondanks het jaren ofloaden heb je nog steeds 'n redelijke CPU nodig.

Als GPU Physics en AI aanslaat, krijg je games met veel meer Physics en AI dan CPU games kunnen leveren.
MultiGPU systemen worden dan niet zo zeldzaam meer. Gezien de render task altijd wel zwaar is door vaak de Dev focus op GFX.

Er zijn nog steeds ontzettend veel taken die een CPU beter uit kan voeren. Dus die zal echt niet zo snel zonder werk zitten.

Het zijn alleen maar heel specifieke taken die sneller gaan op een GPU.
Om bv naar AI te kijken, is een path-finding task goed geschikt voor een GPU, maar heel veel andere AI taken weer totaal niet. Op het moment dat de AI moet gaan beslissen of ie jou wel of niet aan gaat vallen met die 3000 units met elke een eigen pathfinding routiine, dan gaat die beslissing weer volledig door de CPU uitgerekend worden.

Hopelijk wordt het ook een stimulans voor programmeurs om na te denken hoe je een serieuse AI tegenstander maakt, ipv nog steeds voor 80% te leunen op cheats voor de AI. Gebrek aan CPU power kan dan niet meer de smoes zijn.

Al met al denk ik dat het wel een hele verbetering is. Oké je graphics zullen inderdaad wel wat inzakken, maar op dit moment werkt de ondersteuning van crossfire steeds beter. dat icm de x2 gpu's die de laatste tijd uitkomen denk ik dat we dalijk genoeg rekencapaciteit over hebben.

Koop je toch straks een tweede videokaart en zet je die in SLI met de eerste en dan heb je absoluut wel voldoende capaciteit..?!? Straks is het nog mogelijk om je 386 van stal te halen, twee extreem zware kaartjes in je computer te pluggen en nog fatsoenlijk te kunnen spelen :P

je kan het met een goedkopere kaart doen (evt met minder PCIe lanes slot) en bent geen SLI of Crossfire nodig. dus je kan alle niet grafische zaken op die extra GPU gebruiken naast een crossfire/SLI opstelling voor de graphics, als je moederbord daar de ruimte voor heeft natuurlijk

[Reactie gewijzigd door abot13 op donderdag 22 januari 2009 15:30]


Ik denk dat je voor GPGPU verijkte PhysX en AI games tochw at extra GPU kracht moet in kopen om het deftig max out te kunnen spelen. Als dit aanslaat krijt SLI meer zin onder het motto de render task GPU ontlasten met een PhysX/AI GPU.

Hopelijk worden deze technologieën geimplementeerd onder de noemer OpenCL (of vergelijkbaar), en kunnen zowel Nvidia's PhysX als ATI's Stream hieronder vallen. Zoniet zal de consument weer de dupe zijn: "Sorry, dit spel ondersteund enkel NVidia PhysX, en u heeft een ATI met Stream technologie"...

Dan zal er vast wel een (commercieel) bedrijf komen die een abstractielaag voor zowel PhysX als Stream komen, zou op zich niet een groot probleem hoeven te zijn. Oké, het is wel een stap langzamer als 'native', maar tot die tijd is het een goed alternatief.

physx != cuda

PhysX draait op CUDA.
Maar CUDA komt binnenkort wellicht ook naar ATI kaarten.
Echter PhysX is in handen van nVidia.

En daarom zal zowel CUDA als PhysX nooit officieel naar ATI kaarten komen.
Veel te groot risico voor ATI dat Nvidia ongein gaat uithalen om ATI kaarten te benadelen.

Er zal een onafhankelijke partij een API moeten maken (Microsoft bv) of een open standaard. (Dat laatste is ATI al hard mee bezig, dus dat zal Nvidia dan wel weer niet willen)

Nee dat zal een twee drie niet gebeuren, als game developers dit wel doen kunnen ze 50% van de omzet mislopen, daarom is het zo belangrijk dat ze inderdaad een standaard, gemeenschappelijke API maken.

Denk eerder dat Dev's eerder wat terughoudender zijn om flink uit te pakken in games. Dus innovatief bezig te zijn door die boost aan Gflop nuttig te gebruiken.
Wordt dan niet gedaan.
Dus de adoptie van dev hangt af of alle Retail GPU merken worden ondersteund.
Als nV weer als enigste de Dev markt naar zich toe meent te trekken. Zorgen ze juit door die twee deling dat de adoptie juist stagneerd.

Leuke ideeën maar de markt pakt het niet op.
Voor gamers geld enkele uitonderlijke games maar de hoofd moot aan dev's gaan voor mainstream. En als daar PhysX of AI gPGPU niet common is zullen ze het niet zo gretig gebruiken eerder links laten liggen.
Dev's willen veel gamers bedienen niet de ene helft.

Hij plaatst hier echter wel een kanttekening bij: terwijl de cpu na een bepaalde bewerking altijd hetzelfde resultaat geeft, kunnen de resultaten van Cuda en Stream onderling significant verschillen
Met andere woorden: Als ik een spel (zeg een shooter) speel met mijn ATI kaart en een level op een bepaalde manier uitspeel, vervolgens naar een vriend verhuis en hem daar laten zien hoe ik dat heb gedaan, kan ik daar op zijn NVIDIA kaart de AI van hetzelfde level totaal anders voor mijn kiezen krijgen..

Lijkt mij eigenlijk wel wat hoor. Heeft wel wat weg van de AI in COD4 dan. Die doet ook niet altijd hetzelfde. Pathfinding is overigens wel vaak hetzelfde scenario als je naar 1 plek rent en daar hide en weer de hoek om stapt zie je daar maar 2 van de 5x de ventjes op dezelfde spot staan. Dat is dus al best random.

Maar wel mooi om te zien dat GPU's nu niet alleen gebruikt worden voor rendering in games, Folding @ home, maar nu ook de functie voor AI & pathfinding op zich gaan nemen.

Vraag me alleen nog af in hoeverre dit invloed gaat hebben op de FPS. Ik denk overigens wel dat de nieuwste generaties kaarten wel zat power hebben om hiermee om te gaan. Zeker als je ziet wat er nu allemaal op de markt komt. 22" + schermen kunnen met een nieuwe ATI/NVIDIA sli/crossfire kaart makkelijk alle games op max resolutie trekken.

[Reactie gewijzigd door dan0s op donderdag 22 januari 2009 14:14]


elke goede AI heeft een element van randomness anders word hij alsnog voorspelbaar.
maar op welke hardware dat gedraaid word zou niet zo veel uit moeten maken voor de beslissingen die hij neemt. dat ligt toch aan hoe het geprogrammeerd is.

[Reactie gewijzigd door Countess op donderdag 22 januari 2009 21:27]


Dat is omdat bi elke herspelen er toch verschil is. Hoefd maar subtiel timing van event verschil de AI toch andere input geven en zo ook ander resultaat. En er ook zoiets als random ness in een game kan zijn. Wat anders uitvalt. Random generator die de tijd als seed neemt.

'n Scripted game benche met de zelfde random seed zou hetzelfde resultaat moeten geven.
D'r is zo'n ISO norm voor PU zodat elke PU die daaraan voldoet de zelfde resultaat moet geven. Voor sientific computing lijkt mij dat wel vereisd. Voor game is dit geen probleem. Misschien dat dat hier bedoeld wordt.

Het is dus noodzakelijk dat er een gemeenschappelijke api ontwikkeld wordt, wil de technologie bij met name developers aanslaan.
Dit is ook exact wat DirectX11 gaat brengen, dus een beetje vreemd verhaal.

Ver voor de 18 maanden is Windows 7 dan al op de markt en het eerste DirectX11 spel zal niet lang na introductie van Win7 op zich laten wachten. Zowel nVidia (GT300) als AMD (weet niet wat AMD voor benaming gaat gebruiken, maar laten we het op HD5000 houden) zijn met de ontwikkeling van een DirectX11 videokaart bezig die vlak voor of tijdens de lancering van Windows 7 op de markt zullen komen.

Vista zal geschikt zijn voor een DirectX11 upgrade, en het zal met Windows 7 zelfs mogelijk zijn om ontbrekende ondersteuning te emuleren via de CPU, zodat zelfs DirectX10 videokaart gebruikers in ieder geval kunnen zien wat ze missen.

Denk dat volledig Dx11-games wat op zich laat wachten bij pc's, de meeste spelletjes zijn op DirectX 9 (met partial support voor Dx10) blijven steken wegens de prestaties van Vista en de meerderheid aan XP computers die niet mee konden.

En op Dx10 kaarten Dx11 laten draaien is niet echt goed gebleken voor de processor belasting dus das ook weer afwachten of dat zo goede keuze zal worden voor game-makers.

Dit is ook exact wat DirectX11 gaat brengen, dus een beetje vreemd verhaal.
Ik denk dat ze een api bedoelen die niet gelocked is aan 1 platform.
«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 14:29 YouTube test 'koop nu'-functie met dvd's en games
Vorige 13:47 Apple: geen iPhone nano of Apple-netbook op komst
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011