Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Comunitate » Ştiri » NVIDIA cumpară AGEIA (PhysX) !

Ştire:
NVIDIA cumpară AGEIA (PhysX) !
Scrisã de nekitu pe 05 Feb 2008 15:13:41

Se pare ca asta e moda acum, you will be assimilated! Resistance is futile.

SANTA CLARA, CA — FEBRUARY 4, 2008—NVIDIA (Nasdaq: NVDA), the world leader in visual computing technologies and the inventor of the GPU, today announced that it has signed a definitive agreement to acquire AGEIA Technologies, Inc., the industry leader in gaming physics technology. AGEIA's PhysX software is widely adopted with more than 140 PhysX-based games shipping or in development on Sony Playstation3, Microsoft XBOX 360, Nintendo Wii and Gaming PCs. AGEIA physics software is pervasive with over 10,000 registered and active users of the PhysX SDK.

Editat ultima oară de raicuandi pe 05 Feb 2008 15:13:41

Comentarii pentru aceastã ştire:



Pagina 2 din 2 [ 1 | 2 ]

Mesaj Info autor
    Postat la 20 Feb 2008 08:38:20    Subiect: Re:
Gramar info:

Gramar:

Rimio a scris:

Sa avem o gama noua de placi video cu PPU integrat Very Happy? Ar fi interesant, probabil le-ar zice gaming cards, nu video cards. Oricum, ar fi interesant, sa lasam GPUul pentru grafica si sa avem un procesor dedicat si limitat numai la calcule fizice.


GPU si PPU separate, cred eu ca ar fi cea mai buna solutie, din punct de vedere al performantei. Daca integreaza PPU in GPU se mareste tipul pt ambele tipuri de calcule, deci apare un bottleneck si ar face mai dificila programarea.
In schimb, daca le fac separate, costul unei asemenea placi video ar creste substantial si ar trebui sa se astepte un an sau doi pana sa se foloseasca PPU-ul masiv in game dev (ma refer la toti programatorii de jocuri, ca mastadontii nu o sa se sinchiseasca de astfel de lucruri).
Sa speram ca o sa gaseasca solutia cea mai buna.

Ultima editare efectuată de Gramar pe 20 Feb 2008 08:39:20; 1 editări în total

Knowledge, wisdom, understanding


Status:
Înregistrat pe:
02 Oct 2007 10:52:11
Vârsta: 23 ani
Mesaje: 18
Locatie: Falticeni
Programator

 
    Postat la 20 Feb 2008 10:54:56    Subiect: < fara subiect >
raicuandi info:

raicuandi:

...

Anyway, nVidia a anuntat acu 2 zile ca a inceput munca de jos la portarea librariei aia minune de fizica sa ruleze pe platforma aia CUDA sau cum ii zice de la nVidia, adica pe GPU. (altfel spus, Gramar, nu se schimba cipurile mai deloc, doar porteaza libraria sa ruleze pe GPU)

Suna bine, desi imi imaginez ca tot o sa fie buba cu batch-urile...

Method 2: Move Your Mouse Pointer
If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.


Status:
Înregistrat pe:
24 Mar 2007 21:02:40
Vârsta: 22 ani
Mesaje: 514
Locatie: Adelaide, Australia
Programator

 
    Postat la 20 Feb 2008 11:15:46    Subiect: < fara subiect >
meeshoo info:

meeshoo:

Oamenii astia de la nVidia cred ca au vrut sa elimine concurenta. Dupa cum stiti toate placile DX 10 au toate engine-urile complet programabile, deci nu ar fi mare branza sa porteze Physx sa ruleze pe ele. Si eu sunt de acord, nu va fi nici un PPU.


Status:
Înregistrat pe:
15 May 2007 10:52:43
Vârsta: 29 ani
Mesaje: 316
Locatie: Cluj-Napoca
Programator
Jungle Troll Entertainment
 
    Postat la 18 Jul 2008 07:20:06    Subiect: < fara subiect >
boboS info:

boboS:

Oh well a incercat cineva fizica accelerata pe GPU ? Eu nu am hardwareul necesar. Dar is curios.
http://www.nvidia.com/object/physx_8.06.12_whql.html



Ultima editare efectuată de boboS pe 18 Jul 2008 07:31:28; 3 editări în total

"Noi ne facem ca muncim , ei se fac ca ne platesc"


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 25 ani
Mesaje: 949
Locatie: Galați
Programator

 
    Postat la 18 Jul 2008 09:58:17    Subiect: < fara subiect >
ZyZyX info:

ZyZyX:

Am testat eu, dar nu pe UT 3 ( ca nu il am ), ci pe 3D Mark Vantage.

Deci pe 9800 GTX, imi scoate cam 126 operatii pe secunda, iar pe CPU ( Q9450 ), cam 18.
Acum chestia ciudata este ca atunci cand rulez doar pe CPU imi foloseste toate cele patru core-uri 100%, iar cand rulez pe GPU la fel ! Confused

Ultima editare efectuată de ZyZyX pe 18 Jul 2008 09:58:51; 1 editări în total


Status:
Înregistrat pe:
08 Jun 2007 18:07:36
Vârsta: 28 ani
Mesaje: 24
Locatie: Bucuresti
Programator

 
    Postat la 18 Jul 2008 10:01:56    Subiect: < fara subiect >
JIM info:

JIM:

Daca nu ma insel, ala foloseste tot ce are disponibil. Deci daca rulezi fizica pe CPU, il foloseste la 100%. Daca treci fizica pe GPU, raman o gramada de alte chestii pe CPU, si alea il mananca tot 100%, dar merge totul mai repede, deoarece GPU a preluat o parte mare din munca CPU-ului.

Nu sunt sigur, dar asa pare.


Intel i7 920 @ 4GHz, ASUS P6T, ATI 4870x2, 8GB DDR3 1600, Win7 x64


Status:
Înregistrat pe:
29 Apr 2007 22:20:51
Vârsta: 23 ani
Mesaje: 156
Locatie: Bucuresti
Programator

 
    Postat la 18 Jul 2008 23:24:51    Subiect: < fara subiect >
boboS info:

boboS:

Acuma o intrebare:
Daca fac cat mai multe chestii cu motorul de fizica gameplay related (cu Bounding boxuri la greu, ray-uri etc..) toate trec pe GPU nu ?


The NxMath class contains wrappers for the standard C floating point scalar math functions, such as sin() or fabs(), and defines some common mathematical constants, such as Pi


Daca folosesc NxMath in jocul meu sa fac calculele pentru ganeplay (sau orice altceva ce foloseste procesorul) o sa treaca toate pe GPU ?

Ultima editare efectuată de boboS pe 18 Jul 2008 23:25:22; 1 editări în total

"Noi ne facem ca muncim , ei se fac ca ne platesc"


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 25 ani
Mesaje: 949
Locatie: Galați
Programator

 
    Postat la 19 Jul 2008 14:56:53    Subiect: < fara subiect >
raicuandi info:

raicuandi:

boboS a scris:

Daca folosesc NxMath in jocul meu sa fac calculele pentru ganeplay (sau orice altceva ce foloseste procesorul) o sa treaca toate pe GPU ?

Common sense says 'no' Smile

Ultima editare efectuată de raicuandi pe 19 Jul 2008 14:58:01; 1 editări în total

Method 2: Move Your Mouse Pointer
If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.


Status:
Înregistrat pe:
24 Mar 2007 21:02:40
Vârsta: 22 ani
Mesaje: 514
Locatie: Adelaide, Australia
Programator

 
    Postat la 21 Jul 2008 11:22:53    Subiect: < fara subiect >
Dark info:

Dark:

Nu merge sa accelerezi functii d-astea minuscule cum ar fi abs(), sin() si inmultiri de vectori cu GPU-ul. Un dot product dureaza vreo 10 cicli pe un CPU din era noastra. Un switch in kernel mode (ca sa transfere driverul datele), plus setup-ul pentru o tranzactie pe bus, plus timpul de transfer propriu-zis, plus modelul de sincronizare cu GPU-ul ca sa stii cind iti vin datele inapoi, plus transferul inapoi, plus modelul de sincronizare kernel-user si alte maruntisuri vor dura niste zeci de mii de cicli. Aplicatia iti va merge de o mie de ori mai incet chiar daca GPU-ul vede in viitor si are rezultatul operatiei gata inainte sa-i spui ce are de facut.

Nu asa se accelereaza chestii cu GPU-ul. Trebuie sa-i dai suficient de facut astfel incit timpul de setup sa fie neglijabil comparat cu timpul de calcul, iar timpul de calcul sa fie mult mai mic decit daca ai rula acelasi lucru pe CPU. Sa-i dai sa rezolve toate coliziunile dintr-o scena e OK. Sa-l pui sa calculeze un dot product nu e deloc OK.

Cu un API d-asta clasic cu niste clase de vectori, matrici etc. nu se poate face nimic. Design-ul unui API facut pentru accelerare cu GPU este foarte diferit de modelul asta si-ti impune o multime de restrictii pentru ca sa poata acumula operatii pe care sa le ruleze cu o singura tranzactie cu GPU-ul.

Deci nu, NxMath nu-i facut pentru a-ti accelera dot product-urile, e facut in primul rind pentru structurile de date din el - vectori, matrici, aabb-uri si ce-o mai fi - pentru ca trebuie sa poti da valorile lor API-ului ca sa se spele pe cap cu ele. Operatiile sint acolo ca sa-ti usureze tie un pic munca daca nu vrei sa tot convertesti intre vectorii tai, care au operatii prin cod scris de tine, si vectorii lor.

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator

 
    Postat la 21 Jul 2008 12:35:32    Subiect: < fara subiect >
raicuandi info:

raicuandi:

Meh. Explicatia mea era mai scurta...

Method 2: Move Your Mouse Pointer
If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.


Status:
Înregistrat pe:
24 Mar 2007 21:02:40
Vârsta: 22 ani
Mesaje: 514
Locatie: Adelaide, Australia
Programator

 
    Postat la 22 Jul 2008 00:12:57    Subiect: < fara subiect >
nekitu info:

nekitu:

ai putea sa folosesti GPU de exemplu sa calculezi normalele pentru un high-poly mesh, dar ii dai datele intr-o textura RGBA (XYZ?), GPU-ului sa ii dai un chunk mare de date si le rumega, ca-i place, apoi iti returneaza rezultatele intr-un buffer; ce vroia Dark sa zica: "e mai mare deranjul" pentru o singura chestie mica.

SpoOoOoock! Life Is Too Short For Cheap Chocolate


Status:
Înregistrat pe:
29 Sep 2006 11:33:12
Vârsta: 32 ani
Mesaje: 1013
Locatie: Brasov
Programator
7thFACTOR Entertainment Studios
 
    Postat la 22 Jul 2008 00:41:52    Subiect: < fara subiect >
boboS info:

boboS:

Nu ma refeream la ceva simplu cum ar fi dotproduct.

Spre exemplu sa zicem un pathfinder pe un grid de rezolutie mare care sa faca calcule mai mereu in functie de player si obiecte dinamice.
Asa daca fac calculul gasirii pathului dupa niste date trimise el sa duca mai departe (tot in GPU) la procesarea fizica care misca entitatea sau reactioneaza altfel (asta tot pe GPU in cazul in care fizica e pe GPU). Apoi spre final tot la GPU se duce spre operatiile banale de afisarea graficii.

Asa s-ar imbina bine cred eu. Adica tot cu fizica mut un obiect din scena fizica pe GPU (calculele fizice )ca apoi tot pe GPU sa testez daca sa refac pathul etc.

"Noi ne facem ca muncim , ei se fac ca ne platesc"


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 25 ani
Mesaje: 949
Locatie: Galați
Programator

 
    Postat la 22 Jul 2008 01:37:55    Subiect: < fara subiect >
nekitu info:

nekitu:

daca nu e ceva per frame, ci adaptiv dupa o anumita conditie de update path, poate ca ar fi ok, acum depinde ce fel de structuri de date ai, ce ii trimiti aluia sa calculeze, etc., un exercitiu experimental bun Smile, good luck.

SpoOoOoock! Life Is Too Short For Cheap Chocolate


Status:
Înregistrat pe:
29 Sep 2006 11:33:12
Vârsta: 32 ani
Mesaje: 1013
Locatie: Brasov
Programator
7thFACTOR Entertainment Studios
 
    Postat la 22 Jul 2008 10:43:59    Subiect: < fara subiect >
Dark info:

Dark:

Da, foarte frumos, dar nu poti face asta folosind NxMath cum intrebai mai sus. Codul poate arata asa:

Cod sursă:

int x = NxMath::SmallOperation(a, b, c);
if(x > 2)
{
    NxVector start = NxMath::AnotherSmallOperation(x, a);
    finalPos = NxMath::ThirdSmallOperation(start, b);
}
else
{
    NxMatrix y;
    NxMath::MultiplyMatrices(y, b, c);
    finalPos = NxMath::TransformVector(y, a);
}
 


caz in care nu se poate ca API-ul ala amarit sa-ti accelereze aplicatia in mod magic. Se poate doar daca codul arata asa:

Cod sursă:

NxSomeSyncPrimitive s;
NxMath::ComputePathfinding(s, a, b);
/* diverse chestiuni aici */
if(NxIsReady(s))
   DoSomethingWithPath(NxGetResult(s));

/* alte chestiuni */

if(NxIsReady(s))
   DoSomethingWithPath(NxGetResult(s));

/* si asa mai departe */
 


Dupa cum vezi, in afara de faptul ca biblioteca trebuie sa implementeze ea toata smecheria, ca sa nu fie mai mare deranjul cum zice nekitu, in mod ideal trebuie sa si procesezi rezultatul asincron. Daca imediat dupa ce ai trimis request-ul astepti sa ti se intoarca n-o sa mearga stralucit. Ideea e sa utilizezi CPU-ul si GPU-ul in paralel, nu sa astepti in CPU sa se termine ce ai cerut de la GPU.

Mecanismul ideal e similar cu ala de la occlusion queries (de exemplu), unde dai query-ul, faci alta treaba, si dupa un timp intrebi daca e gata rezultatul. Daca tot nu-i gata mai faci alte chestii pina e gata. E usor de zis, dar e multa bataie de cap sa implementezi asa ceva.

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 729
Locatie:
Programator

 

Pagina 2 din 2 [ 1 | 2 ]


Server time: 14:58:33 11.02.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2011 Copyright 7thFACTOR Entertainment - All rights reserved