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

Diskuse k Nvidia uvolnila CPU PhysX jako open-source

Free neni open a nV to ještě pro jistotu přidělala na řetěz :-D. PhysX bude free pro vyvojare her, ale bude mit svojí EULA licenci a jestli dobře rozumím https://developer.nvidia.com/physx-source-github , tak bude nutná registrace. GitHub je pouzity jen jako reklamni vejicka vytvarejici iluzi otevrenosti. Pochybuju, ze by nV dovolila napriklad fork s optimalizaci na vic jader .... na tom by mel zajem kde kdo, protoze GPU PhysX bude stale zavrene a nejspis za penize.

+1
+2
-1
Je komentář přínosný?

Hm, tak zase nic.

Kdyby to totiž byl opravdu open-source, tak je naprosto jasný, že by se toho hned někdo chytil, udělal těžké optimalizace a prodával to dál úplně každýmu. Vznikla by nějaká Ageia II a na grafickej PhysX by každej okamžitě zapomněl, kór s novým OpenGL/DX12, které odlehčí procesorům a ty by se zas mohly plně věnovat výpočtům fyziky. Kór v dnešní době výkonnejch vícejádrovejch procesorů by si Nvidia nasrala na hlavu dvakrát, protože by ještě boostnula prodeje Bulldozerů od své konkurence…

+1
+6
-1
Je komentář přínosný?

Ale veď CPU vetva PhysXu je už v základe optimalizovaná na viacjadrové procesory od verzie SDK 3.0 zhruba od roku 2010. Aké ťažké optimalizácie by si tam ešte chcel urobiť?

+1
+8
-1
Je komentář přínosný?

Před nějakou dobou byla taková malá aférka ohledně toho, že PhysX na CPU vše počítá přes FPU místo toho aby využívala SSE nebo nově AVX. SSE v jedné instrukci zpracuje 4 32bit hodnoty, AVX 8 hodnot, AVX-512 16 hodnot. Použití vektorových instrukcí by tedy mohlo celkem slušně zrychlit výpočty v PhysX.

+1
-2
-1
Je komentář přínosný?

Tá aférka bola pred 6 rokmi. Okrem toho PhysX ani vtedy s FPU nebol vôbec tak pomalý ako to niektorí ľudia tvrdili alebo sa tvárili. Viď môj komentár nižšie. Odporúčam pozrieť hlavne testy a porovnania niekoľkých verzií PhysXu s vtedajšou verziou Bulletu (ktorý bol považovaný za smer akým sa to má viesť).

+1
-5
-1
Je komentář přínosný?

"Pochybuju, ze by nV dovolila napriklad fork s optimalizaci na vic jader"

CPU vetva PhysXu je už v základe optimalizovaná na viacjadrové procesory od verzie SDK 3.0 zhruba od roku 2010. Už posledný rok a pol po začatí používania nových herných engine-ov, ktoré podporujú PhysX, sa používa práve táto optimalizovaná verzia. Chlapci vy vývoj PhysXu vôbec nesledujete že?

BTW. odporúčam tieto články od jedeného z tvorcov tohto API už len kvôli lepšiemu rozhľadu:

http://www.codercorner.com/blog/?p=748
http://www.codercorner.com/blog/?p=1129

Plus tu ešte pridal pár zaujímavých informácií ohľadom nasledujúceho PhysX SDK 3.4

http://www.codercorner.com/blog/?p=1161

+1
+12
-1
Je komentář přínosný?

Když si vzpomenu, na čem chodil (a dodnes chodí) Source engine, derivát Havoku, tak PhysX je od té doby co to koupila Nvidia úplně všechno, jenom ne optimalizovanej. PhysX to sice umí, ale od Nvidie to bylo dlouho natvrdo v základu vypnuté. Pak už se to zlepšilo, taky od té doby v podstatě odsunuli PhysX do pozadí, už to skoro nikoho nezajímá a žádnej zabiják Radeonů se z toho nikdy nestal, stejně tam byl rozdíl pár snímků za sekundu. Jaksi i proto, že ty hry pořád potřebovaly ohromnej procesorovej výkon, je jedno, jestli za to mohl samotnej herní engine, nebo fyzikální engine. Nebo overhead DirectX. To se všechno dneska mění a při použití novýho OpenGL spolu s nějakou optimalizovanou verzí PhysX by to taky možná jelo líp na průměrným čtyřjádru než i7 s high-endovou grafikou Nvidia pod DirectX 11 a s GPU PhysX.

Ovšem Source engine stále beru jako jeden z nejlepší enginů všech dob, i dnes stále vypadá velmi koukatelně a je to hratelný minimálně na Tualatinu. Na Athlonu 64 3200+ s GeForce 2 jsem hrál Half Life 2 na plnou palbu…

+1
+5
-1
Je komentář přínosný?

Se vsim respektem k tvym elektrotechnickym zkusenostem, je videt, ze programator nejsi. Tvoje predstava, ze 4 jadra CPU mohou nahradit vykon nekolika desitek az set specializovanych vektorovych jednotek je pocertech laicka. Pri vypoctech napr. simulace kapalin, koure, nebo trosek, kde interakce nekolika tisic particles dava tolik iteraci, ze by cpu, s AVX nebo bez, nedelal nic jineho. Takovy BF4 nema zadny physx a zabira 4 thready na i7. Kolik ti zbyva pro physx? 0. Vetsina enginu dnes vyuziva spon dve vlakna.
Mimochodem, kdyz vznikla PhysX, samotna pridavna karta v porovnani s tehdejsimi procesory taky nebyla nejak megasuper, presto je v realnych simulacich stonasobne porazela. A fyzikalne simulacni superpocitace stavi taky na gpgpu. Proc asi. Ze by vedci neumeli optimalizovat pro avx?

+1
-3
-1
Je komentář přínosný?

Jistě, taky tuším vznikl nějaký hack, který umožnil použití Nvidia Geforce karty jako PhysX akcelerátoru, pokud používáte primárně kartu od AMD :)

+1
+1
-1
Je komentář přínosný?

No hlavně že ty si expert. Ty stovky jader (se zoufalou efektivitou a vysokou rychlostí v několika jednotkách operací, menší frekvenší, cache a vším) se tam totiž flákaj a samotný obraz se počítá na ventilátoru, ne? Hry jsou v prvé řadě náročné zoufalou (ne)optimalizací DirectX, stačí se podívat, jaké rozdíly tvoří Mantle. Pak bude zase výkonu habaděj. Ono to už velmi brzo nikam jinam než k optimalizaci nebude moct jít, protože litografie už po roce 2020 docela končí.

Jinak se stačí podívat na BOINC, akceleraci na grafice využívá naprostá hrstka projektů.

+1
-8
-1
Je komentář přínosný?

Mantle tvori na normalnich procesorech tridy i5 rozdily maximalne v radu jednoho az dvou desitek procent. Mas dojem, ze to je habadej vykonu navic? Proc se tedy cely bitcoin pocital na gpu, kdyz cpu prestalo stacit, a pozdeji na vysoce specializovanych asicech - stovkach a tisicich jednoucelovych nanojader? Ze by kvuli directx nebo neoptimalizaci pro AVX?

Podivej, nevis o tom ani zbla, priznej si to. Nema cenu si tady vymyslet nesmysly o boincu:
"These applications run from 10X to 200X faster than the CPU-only version depending on the application, CPU and GPU in question. "
http://boinc.berkeley.edu/wiki/GPU_computing

kdyz vubec nevis, o cem mluvis. Uprimne, nechapu o co ti jde a kde tu averzi vuci gpu vypoctech beres, kdyz se tim ani nezabyvas. Nemusis milovat physx, ale nemusis kvuli tomu ani placat nesmysly.

+1
+6
-1
Je komentář přínosný?

Je to úplně úžasný, proto máme všichni ty stovky nanojader v procesoru…oh, wait. Reality check…

+1
-8
-1
Je komentář přínosný?

Hmm, vskutku validni argument. Moje pedagogicke schopnosti zjevne selhavaji. Necham na nekom pripadne jinem, aby ti vysvetlil rozdily mezi beznou jednovlaknovou aplikaci a masivne paralelni fyzikalni simulaci, a k cemu ze jsou navrzena soucasna x86 cpu.

+1
+7
-1
Je komentář přínosný?

NVIDIA nič nevypla. Keď preberala PhysX, ten nebol natívne multithreadový. A samozrejme v NV chceli v prvom rade urobiť GPU vetvu. Takže CPU vetva sa dopredu hýbala pomaly. Lenže NVIDIA časom začala prerábať PhysX úplne od základov a dneska sa CPU PhysX v pohode vyrovná Havoku čo sa týka rýchlosti. Je natívne multivláknový a používa moderné inštrukcie. Odporúčam ti prečítať menší náhľad od už spomínaného Piera Tiedemana:

http://www.codercorner.com/blog/?p=1129

BTW PhysX vôbec nie je na okraji záujmu. Je súčasťou 2 veľkých herných engine-ov - Unreal Engine 4 a Unity 5. V podstate všetky hry, ktoré využívajú tieto engine-y používajú PhysX. Čo sa týka GPU PhysXu, vychádza teraz viac hier ako roky predtým. A medzi nimi dosť dobré hry. Tento rok medzi nimi budú Witcher 3 či Batman Arkham Night.

GPU PhysX je stále v záujme NVIDIe. Terajšia snaha vyústi v nové SDK 3.4, ktoré bude natívne prepájať jednotlivé časti, ktoré doteraz boli samostatné a interakcie medzi nimi sa museli doprogramovávať. To by už teraz nemalo byť nutné. Viď

https://www.youtube.com/watch?v=1o0Nuq71gI4&feature=youtu.be

Mne sa teda nezdá že by NVIDIA odsúvala PhysX do úzadia. Práve naopak. Pozri si nové hry ako pekne šlapú s CPU PhysX. Taký Lords of the Fallen ukazuje pekný progres. A to väčšina hier, ktoré majú naimplementovaný PhysX SDK 3.x.

BTW fyzika v Half Life 2 nebola ani zďaleka tak výkonovo náročná ako to čo teraz ponúka PhysX.

+1
-6
-1
Je komentář přínosný?

Intel nedovoluje benchmark havoku, takze jestli je rychlejsi nebo pomalejsi je spekulace. Kazdopadne na nativni multithreading se cekalo radu let, jeste nedavno hry vyuzivali stale verzi 2.x, prestoze 3.x byla davno venku (nemela ale tak dobrou podporu APEX)

+1
+5
-1
Je komentář přínosný?

Problém nebol v podpore APEXu, ale v herných engine-och (boli 2 vývojové vetvy APEXu takže niektoré APEX moduly boli zdvojené z pohľadu používaného SDK). Používali sa staršie, ktoré podprovali starú verziu PhysX SDK. Po tom ako sa začali používať novšie, začala sa používať aj nová PhysX SDK. Je to proste vývojový cyklus.

+1
+7
-1
Je komentář přínosný?

PhysX přes GPU je jen pozlátko a pokud se nic nestane tak k mé lítosti a přes velké možnosti které má a nebo by mohl mít, zůstane pozlátkem. Proč pozlátkem? protože je ve hrách použit jen na efekty které nemají ani co by se za nehet vešlo vlivu na hratelnost. Nemění pravidla kdy je aktivován nebo vypnut. Nedisponuje fyzikou objektu která by měla interakci k svému okolí. Rozuměj letící kus zdiva utržený po výbuchu mne zabije. Proč tomu tak je? Né že by to neuměl ale žádný programátor to implementovat nebude. Proč nebude? Protože ho nepodporují všechna GPU a zazdil by si tím MP mód. Takže máme tu technologii která by mohla posunout hry na více interaktivní level ale nestane se tak. Přiznám se že o technologie které nemají budoucnost se zajímám okrajově a to je právě případ PhysX přes GPU.

+1
+9
-1
Je komentář přínosný?

GPU PhysX síce týmto spôsobom ako píšeš hrateľnosť neovplyvňuje, ale zasa o dosť vylepšuje atmosféru hry a zábavnosť. Robí svet citeľne živším. Nie je to tak u každej hry, ktorá ho používa, ale u veľa takto funguje. To je ale subjektívny pocit, ktorý niekto zdieľa a niekto iný zasa nie. Okrem toho nikdy nevieš ako to dopadne a čo nakoniec bude mať budúcnosť. Šušká sa, že PhysX Flex je implementovaný v Direct Compute a teda pôjde všetkým. Tým by sa aj na tomto poli mohlo veľa zmeniť.

+1
-7
-1
Je komentář přínosný?

Jenže "atmosféra hry" je něco, co na samotnou hratelnost má vliv cca 10%, spíše však méně. Že se "nějak" vlní prapory či jiné hadry, padá sníh apod. je sice pěkné, ale samotný mechanismus hry to nevylepšuje. Pokud by se z nějakého fyzikálního rozhraní stal dostupný a volný standard, který bude plně funkční na všech GPU (a nebude to klacek jedné firmy na druhou), dost věřím tomu, že by hry mohly zažít další velký rozvoj - třeba takový HL3 si o to jednoznačně říká.

+1
+2
-1
Je komentář přínosný?

"Source engine, derivát Havoku" sis na wiky precetl neco ve smyslu ze fyzikalni engine SE byl odvozen od Havoku a hned z toho delas derivat Havoku?

tak jen pro tve info, SE ma dodnes fyziku omezenou na 20 casti pro mesh (pouzivalo se bezne jen 14) pro jednoduchou detekci 0 nebo 1 vcetne kolizi, takze to bylo omezene na trefil/netrefil tuhle cast tela a tim to haslo, to byla cela fyzika ktera mela neco spolecneho s fyzikou a ne jen scriptama, a cela ta sranda vychazi jeste z enginu ktery psal Carmack pro prvniho Quake ;) a to jak vypada vizual s fyzikou nijak nesouvisi, jsou to dve rozdilne casti enginu ;)

+1
+2
-1
Je komentář přínosný?

Snáď to neplatí aj pre SE2.

+1
0
-1
Je komentář přínosný?

predpokladal bych ze bude naslapnuty, sice k nemu pristup nemam, ale tim ze delam pro ne freelance grafiku a na foru vidim i vizual z enginu co postuji interniste, tak je na co se tesit, ac dnes tak vpodstate musi pusobyt kazdy velky engine, ono je to spis o tech lidech jak s tim umej zachazet :)

v dobe SE to bylo desne o kompromisech, dnes je to naopak otom udrzet ty lidi na uzde aby se to neskutecne neprodrazovalo

+1
-1
-1
Je komentář přínosný?

"v dobe SE to bylo desne o kompromisech, dnes je to naopak otom udrzet ty lidi na uzde aby se to neskutecne neprodrazovalo"

Tak sa teším na výsledky.

+1
-4
-1
Je komentář přínosný?

jsem zvědavý, zda to někdo forkne pr AMD grafiky. :o)

+1
-9
-1
Je komentář přínosný?

Tak to by som chcel vidieť. :-) Kód pre grafické karty sa píše iným spôsobom (musia sa alokovať buffre s dátami v pamäti grafickej karty a aktualizovať cez compute shader) a nejde iba o prenesenie implementácie na GPU 1:1. A to nehovorím o komplexite nad ktorou NVIDIA strávila posledné roky práce a nemyslím si, že si tú istú námahu dá aj niekto iný. GPU PhysX nie je podmnožinou CPU PhysX. Môžu sa z časti prekrývať (ale ako som písal nie implementačne), ale to je tak všetko. Napríklad taký APEX Turbulence nemá CPU vetvu. APEX Clothing má aj CPU aj GPU vetvu. Možno to príde časom kedy už ale bude PhysX opäť niekde ďalej - viď FLEX, ktorý by sa mal ukázať už tento rok (myslím, že hra Killing Floor 2 by ho už mala využívať).

+1
+5
-1
Je komentář přínosný?

bravo zmene pristupu, snad budeme svedky podobneho i v pripade nadchazejici v FLEX, stejne jako ostatnich GameWorks efektu, to by koneckoncu mohlo pomoct jejich rozsireni a AMD/intelu to umoznilo optimalizaci driveru.

+1
-8
-1
Je komentář přínosný?

FLEX by malo zodpovedať SDK 3.4 ku ktorému sa Piere Tiedeman (jeden z tvorcov PhysXu od samotného začiatku ešte pred Ageiou) vyjadril takto: I think we will eventually open source 3.4 too, when it is released.

Snáď to bude realitou keď k tomu príde. Osobne si myslím, že to ale dajú ako open source až časom. Čo sa týka Gameworks, ak budú chcieť aby boli základnou súčasťou Unreal Engine-u, tak nebudú mať asi moc na výber.

+1
+5
-1
Je komentář přínosný?

To nebudou.

+1
-6
-1
Je komentář přínosný?

Vyzerá to tak, že aj Gameworks sa stane súčasťou E4 a teda, že sa môže stať open source:

https://forums.unrealengine.com/showthread.php?53735-NVIDIA-GameWorks-In...

Uvidíme.

+1
+3
-1
Je komentář přínosný?

Tak jsem se šel podívat pod jakou licencí PhysX uvolnili a světe div se oni ještě to neuvolnili....
Na stránce https://developer.nvidia.com/content/latest-physx-source-code-now-availa... uvádí odkaz https://github.com/NVIDIAGameWorks/PhysX a tento projekt na GitHub není
Žeby další paperlaunch?

+1
-6
-1
Je komentář přínosný?

To se panu Ježkovi podařila pěkná kachna. Nebo je EULA skutečně open-source licencí?

+1
-37
-1
Je komentář přínosný?

Pro psaní komentářů se, prosím, přihlaste nebo registrujte.