Přijďte si zasprintovat na Djangu, jiném Python open-source projektu, nebo jen potkat ostatní vývojáře!
… více »Letos v říjnu se v Praze uskuteční hned několik konferencí. Odehraje se zde nově vzniklá konference LinuxDays. K ní se přidá čtvrtý ročník openSUSE Conference, dvanáctý ročník SUSE Labs conference a aby to nebylo málo, přidá se i první ročník Gentoo miniconf. A to vše ve stejné dny a na stejném místě.
… více »Hudba dokáže většině lidí přinést dobrou náladu. Proto je téma květnového openMagazinu audio. Existuje pro Linux zvukové studio, které milovníci hudby potřebují? Ano, květnové číslo obsahuje rozsáhlý článek o nastavení realtimového zvukového serveru. Ale nejen to. Přehrávat skladby lze v několika přehrávačích. Seznamte se s nimi. Až se sbírka rozroste, lze ji uspořádat programem, na to určeným.
… více »
Ageia, průkopnická firma se kterou to v posledních měsících nevypadá nijak dobře. Ale jejího zdechnutí by byla škoda. Proč? …

Pojem fyzikální akcelerátor je sám o sobě nepřesná kravina, zhruba stejně jako 3D akcelerátor. nicméně pro společnost Ageia a její PPU (Physics Processing Unit, neboli fyziku počítající procesor) je to označení, které jsem odjakživa používal jako poměrně přirozené a činit tako budu i zde.
Když Ageia PhysX uváděla na trh, někteří ji prorokovali revoluční úspěch, jiní zatracení v důsledku zbytečné technologie. I vezměmež to prodnešek částečně bodově, protože jsem srab a nemám náladu psát tu dnes nějakou disertačku.

Hlavní nevýhodou PhysX ale je, že jeho použití není vidět. Když si koupíte o generaci novější grafiku, rozdíl poznáte okamžitě na výkonu, tedy možnosti nahodit vyšší AA/AF a HDR klidně i za současného navýšení výkonu. Tento rozdíl je stejně tak krásně prezentovatelný na webu nebo v časopisech. U PhysX ukáže velké kulové i video, "akcelerace fyziky" se dá dostatečně eye-candy nasimulovat i na shaderech nebo pomocí CPU. Ten přínos v odlehčení záteže a obrovské škálovatelnosti fyziky prostě nelze nijak pořádně ukázat, a to ani přímým srovnáním, protože pro něj ještě nikdo nenapsal dostatečně kvalitní herní titul.
Zkrátka a dobře, ani dnes, 11 měsíců po oficiálním uvedení an trh, nemá člověk jistotu, že jeho případná investice do PhysX se mu vyplatí.
Kdo kdy viděl nějaké video a domyslel do detailů, co vlastně prezentuje, musí mi dát za pravdu, že potenciál PhysX je úchvatný. CEO Ageia k tomu říká, že současné tituly navíc využívají jen zlomek výkonu PhysX, čemuž nemám důvod nevěřit (ATI/nV implicitně také věřím, byť se člověk většinou spálí
). Já osobně když si představím (ano, chce to VELKOU představivost, tento můj blogpost) takový System Shock 2 z roku 1999, tak se nestačím divit…

Tam, kde doposud vidím statické prvky ve scéně, lineární "předpočítané" pohyby NPC, minimální interakci mezi jednotlivými subjekty v prostředí, tam si mohu s PhysX vysnít reálné perfektně dynamické fyzikální prostředí, měnící se samozřejmě podle podmínek (vzpomínáte na lokaci v sshocku1 se sníženou gravitací, kde se dala naléz Flechete?), to vše ale jednoduše realizovatelné! Velké kouzlo PhysX je totiž v SDK. Pokud se dobře píše v SDK, je napůl vyhráno. Bohužel nemohu srovnat PhysX SDK a Havok SDK, nejsem programátor a ani sem tato SDK neviděl, ale…
Představte si, že je snadné pro programátora realizovat perfektní, zcela precizní chování v daném fyzikálním prostředí. A pokud má dojít k malému posunu v tomto chování, postačí pouze upravit pár proměnných. Stejně tak například simulace změny schopností postavy hráče může být realizována adekvátním pozměněním prvků v "realitě", opět snadno realizovatelné pomocí PPU. To vše je schopno nabídnout řešení za 5500Kč v podobě PhysX, nebo za 5500Kč v podobě X1950/GF7900+Havok. Nevidím důvod, proč by v tomto ohledu nemohla koexistovat dvě konkurenční řešení.
Navíc od CEO Ageia víme, že PhysX, aňžto samozřejmě programovatelný procesor s unifikovanými shader jednotkami, nebude v budoucnu umět pouze fyziku, ale GPGPU obecně. nVidia má betu CUDA 0.8, AMD má své Stream Processor karty a já osobně věřím, že pokud v dohledné době vrhne Ageia zdarma na svět SDK umožňující psaní GPGPU aplikací (v Céčku, to již víme), má VELKOU šanci.

V budoucnu navíc Ageia slibuje možnost využití více PhysX karet v jednom systému, takže nevidím důvod, proč bych do běžné dnešní desky nemohl šoupnout GeForce 8800 GTX na grafiku a 3×PhysX do jinak nevyužitých PCI slotů nejen pro počítání fyziky ve hrách, ale hlavně jako "malý výpočetní GPGPU cluster", který mi obstará tak rychlý encoding do x264, že se mi spíše vyplatí koupit 3×PhysX (3×5500=16500Kč), než druhou GeForce 8800 GTX (16500Kč).
Já osobně se tedy, narozdíl od toho, jehož jméno se nevyslovuje, domnívám, že pokud Ageia nebude nadále posírat marketing (tak jak činí dosud a tak jak ostatně činila kdysi 3Dfx), má obrovskou šanci zaháčkovat se na počínajícím "domácím GPGPU trhu". Potenciál má totiž OBROVSKÝ. Uvědomme si totiž, že PhysX s jeho momentálními schpnsotmi je tvořem procesorem o 125 miliónech tranzistorů vyráběným 130nm procesem. Povyšme ho na úroveň generace die-shrinknutých Radeonů X2900, tedy na 65nm výrobní proces a zhruba 800 miliónů tranzistorů (múj střízlivý odhad). Pokud by jich adekvátní (tedy výrazně většinová) část padla na výpočetní jednotky, pak se domnívám, že při srovnatelné spotřebě a chlazení s 65nm X2900 může mít zhruba 8× vyšší výkon (počítám i s optimalizací ovladčů v nadcházejících měsících) než současný PhysX. A pokud dnes bývá využit jen zlomek výkonu PhysX, pak potěž panbůh. Já každopádně držím palec, čím více konkurentů na GPGPU poli, tím lépe.
Tiskni
Sdílej:
Text zajímavý, chytlavý. Jediný poznámka: máš asi hodně času, co?
Nebo to neni jen tak oddychové psaní?
). btw, tenhle zapis o ageia vznikl za 14 minut cisteho casu
Hm, pěkné. Dík za rozšíření obzorů. Bylo by fajn, kdyby se to prosadilo. Možná rozhodne jednoduchost ... jako u Betamaxu a VHS třeba 
Musíš to udělat proto, že GPU výsledky spíš odhaduje, než počítá.OMG?! :-O
myslim, ze si myslim, ze to chapes spatne 
V tomto ohledu tedy jsou si PPU i GPU konkurenci zcela srovnatelnou. Rozdil tedy budiz hledan prioritne ve schopnostech a moznostech SDK.
PS: ano, samozrejme ze v Ageia vyrazne optimalizuji pro tento typ (fyzikalnich) uloh. Naproti tomu AMD/nVidia musi primarne cilit, at jiz pomer mezi ROP/(PS/VS = US)/TMU/whatever z hlediska architektury, nebo prave optimalizace v softwarove vrstve, spise na 3D ulohy, coz bude prave i samostatne pro fyziku vyclenenou grafickou karty spise vykonove degradovat (z hlediska architektury GPU, jak jsem psal). Je vsak otazka, ktere reseni bude a) flexibilnejsi, b) z toho plynouce vice podporovane
myslim, ze si myslim, ze to chapes spatneCo přesně?
principielne GPU a PPU jedno jest! oboje je procesor programovatelny teoreticky pro libovolnou ulohu.jenže
omezeni jest jim dano pouze bohem, tedy tvurci architektury (vykonove), SDK (rozsahem schopnosti), ovladaci/rozhranim (to zbyvajici)Architektura je dosti podstatná věc. GPU je optimalizován na výpočty týkající se 3D, PPU na výpočty herní fyziky. Ano, GPU můžeš naprogramovat, aby prováděl fyzikální výpočty, ale už z principu to půjde pomaleji než v PPU. To máš to samé, jako můžeš CPU naprogramovat pro výpočty 3D prostředí, ale půjde to pomaleji než v GPU. PhysX je stavěno výhradně pro výpočty herní fyziky a k tomu bude uvnitř uričtě přizpůsobeno, z čehož vyplývá, že mu to půjde rychleji. A o rychlost tady jde především, je sice hezké, že GPU lze naprogramovat na výpočet jakékoliv úlohy, ale když výpočet samotný bude trvat příliš dlouho, tak je to k ničemu. A je jednoznačné, že výrobci grafických čipů zjistili, že na přesné výpočty ten čip opravdu nemá čas (musí vykreslovat, počítat antialiasing, apod.), takže se rozhodli pro méně přesné počítání.
Je vsak otazka, ktere reseni bude a) flexibilnejsi, b) z toho plynouce vice podporovaneIMO a) neimplikuje b). Je sice pěkné, že můžu vyměnit GK a ponechat PhysX (flexibilita), ale co je mi to platné, když výrobci her se budou samozřejmě víc soustředit na to, aby jejich hra uměla použít GPU a pak teprve PhysX, protože GPU má každý, kdežto PhysX ne.
...ale už z principu to půjde pomaleji než v PPU
ja to doplnim, z principi to pujde relativně pomaleji. souhlasim ze navrh architektury GPU jej oproti PPU znevyhodnuje, ale pokud by rekneme toto znevyhodneni oproti PPU s jeho relativnim 100% vykonem predstavovalo u GPU relativni 70% vykon, pak, za predpokladu, ze GPU bude (hypoteticky) v absolutnich hondotach na 120% vykonu, pak si budou obe reseni plus-minus rovna.
...ale když výpočet samotný bude trvat příliš dlouho, tak je to k ničemu.
To je take relativni. Čo podľa vás vojín kefalín znamena "príliš dlho"
A je jednoznačné, že výrobci grafických čipů zjistili, že na přesné výpočty ten čip opravdu nemá čas (musí vykreslovat, počítat antialiasing, apod.), takže se rozhodli pro méně přesné počítání. ...... protože GPU má každý, kdežto PhysX ne.
Ty uzs nekdy videl nejake prokazatelne benchmarky na hernim titulu/aplikaci, o ktere je verejne znamo, ze jeji podpora pro GPU i PPU je stejne kvalitni a nelze tak rici, ze by jedno z reseni bylo "protezovano"?
To je take relativni. Čo podľa vás vojín kefalín znamena "príliš dlho"Co asi? Bavíme se tady o herní fyzice, takže všechny výpočty musí být hotové téměř hned. Je úplně zbytečné, když se zeď zasažená raketou rozletí na tisíc kousků, když se dráha letu těch kousků dopočítá až třeba pět vteřin poté. To je příliš dlouho.
Ty uzs nekdy videl nejake prokazatelne benchmarky na hernim titulu/aplikaci, o ktere je verejne znamo, ze jeji podpora pro GPU i PPU je stejne kvalitni a nelze tak rici, ze by jedno z reseni bylo "protezovano"?Ne a v tomhle případě ani nepotřebuju. Hry náročné ve 3D prostě dneska grafické karty vytěžují téměř naplno, takže prostě nemůžeš vyhradit hóóódně výpočetního výkonu pro herní fyziku, protože pak by ta karta sice hezky vypočítala, kam ty úlomky poletí, ale při 4fps by to taky nebyl nijak zvlášť překrásný pohled. Tohle je stejné, jako když nebyla žádná podpora 3D v GK a všechno počítalo CPU. Pak se objevily jednoduché grafické akcelerátory a všechno šlo líp. V tom je ten rozdíl - pokud má nějaká operace svůj vlastní dedikovaný procesor, tak ji zvládá líp, než když tu operaci přidáš někomu univerzálnímu jako práci navíc.
to je naopak velmi padny duvod proc to nebude fungovat.
pokud server posle pouze informaci o pocatecnim stavu, pak z ni ruzny hw muze dojit k ruznym vysledkum coz je neakceptovatelne. lowendovy model ktery vypocita pohyb sudu po polygonech povrchu dojde k jinym vysledkum nez hi-end kolega ktery umi, rekneme, vyuzit normalovou mapu textury jako detail povrchu materialu. novejsi vyrobky s jinou sirkou slova by dosly k jinym vysledkum nez starsi. atd atd. v nejhorsim pripade by se extreme slozita scena na ruznem hw chovala viditelne rozdilne.
v pripade GPU je jedno jakou kdo pouziva barevnou hloubku a rozliseni textur, jakou uroven mipmapingu a vyhlazovani atp. protoze to neovlivni ostatni hrace. jedina oblast kde je to znat je pocitani svetla a vsimete si ze ac existuje dost 3D her ktere tezi z vyuzivani [ne]viditelnosti ve tme (muj oblibenec je Thief) vsechny jsou pouze SP (nebo multiplayerove propadaky
.
jeste horsi nez ciste technicky problem synchronizace vysledku HW ruzne urovne je obrana proti zamerne manipulaci. uz ted je dost problemu s lidmi kteri pomoci zasahu do rendereru "vidi skrz zdi". opravdu nerad bych v sitove hre potkal s novodobeho Nea ktery by umel uhybat kulkam
Umim si predstavit radu zpusobu jak obejit vyse jmenovane potize (a par jinych ktere jsem pro jednoduchost pominul) ale vsechny se uz z principu nejak podepisi na pouzitelnosti a nebudou pro pripadne kupce fyzikalniho HW zrovna motivujici.
...pokud server posle pouze informaci o pocatecnim stavu, pak z ni ruzny hw muze dojit k ruznym vysledkum coz je neakceptovatelne.Ale vždyť o tom mluvím. V současném stavu tomu tak je. Jenže pokud by pro hraní všichni museli mít PhysX, tak všichni dojdou ke stejným výsledkům. A není problém prohlásit PhysX za standard a s novými možnostmi vydávat nové verze tohoto standardu (a hra si jenom řekne "chci PhysX 1.1", stejně jako si teď hry říkají, jakou chtějí verzi DirectX nebo OpenGL)
uz ted je dost problemu s lidmi kteri pomoci zasahu do rendereru "vidi skrz zdi"Za což by je měla vyhodit proticheatová ochrana.
rofl
Proč myslíš, že na tom někdy půjde spustit x264?
a proc ne? principielne v tom nevidim problem, byt jsem si samozrejme vedom, ze to hned tak nehrozi.
Že by z toho šel vykopat 8x větší výkon při die-shrinku - pro pět ran, co jako má být? PhysX je těžko diametrálně kvalitnější gpgpu než třeba stream processor/radeon.
Tvuj nazor, ja mam jiny. To je na lidstvu krasne, co hlas to nazor...
Co se týče fyziky, je důležité, že momentálně jsou tu dvě API - buď budou obě stejně vyvíjené a podporované (což se zatím nikdy nestalo), nebo jedno padne a šlus (3Dfx, Aureal...). takže momentálně pro hráče nepříjemné.
Ale stalo: napr. OpenGL vs Direct3D
A vůbec, moc se mi nelíbí představa, že by hry najednou začaly požadovat dvě karty (gpu plus fyziku...
Ja v tom principielne nevidim prob. Pokud spotreba a cena bude shodna jako s jednou univerzalni kartou, tak mi to nevadi. stjene tak mi kdysi nevadilo mit zvukovku ci sitovku ve forme pridavne karty, stejne tak mi nevadilo mit Voodoo Graphics v pridavne karte.
A mimochodem, nezapomínejte na AI akcelerátor... http://www.aiseek.com/index.html
Ja urcite ne, uz sem o nem lecos v minulosti napsal, jen ne tady v blogu 
Bojuje statečně, má za sebou profesionální sféru, ale u her má pořád malé zastoupení. DirectX má daleko větší dynamiku - je vněm mimojiné taky všechno v jednom, což láká vývojáře.
PhysX ma take podporu mezi profi softy (softimage atd). navic zpusob obsluhy 2D/site/whatever neni tolik podstatny, dycky to musis v necem napsat a je to proti volbe 3D API podruzna vec, totez imho v pripade fyziky.
Dočetl jsem se nedávkno, že až do directX 9 kompatibilních kousků měly grafiky takzvaně "OpenGL pipeline" - zkrátka se zakládaly na OpenGL! Ale DirectX 10 nejen že MS zaintegroval do Windows, aby bylo OpenGL zase o něco odstrčenější a obskurnější, ale zavedl v nich navíc zcela novou architekturu grafické pipeliny. Takže už pielina není OpenGLová, ale DirectX-10ová... Chudák Api se dostává stále víc do kouta!
OpenGL je ve Windows Vista, alespon co si pamatuji posledni zpravy, implementovano nativne. A hovorit v pripade cipu s unifikovanou architekturou (resp. Thread Arbitterem ci Ultra threaded Dispatch Processorem v R520/580/580+) se mi zda tak trochu mimo misu.
Co se týče více karet: nám s prázdnejma kreditkama tyhle věci vždycky vadily... Jo a ta situace, že by ty 2 karty stály stejně nenastane :)Mas pravdu, nenastane. adekvatne schopne karty AMD vs nvidia take nikdy nestaly nachlup stejne, ale vzdy mezi sebou vedly vykonnostni a cenovy boj. a to je prave kouzlo konkurence na trhu
...ale u her má pořád malé zastoupení.Ani ne tak pořád... OpenGL tu bylo první a do DirectX 4 mělo drtivou převahu. Teprve u DirectX 5 se situace začala obracet, protože narozdíl od DirectX za OpenGL tenkrát nestál nikdo velký a novinky se objevovaly pomalu. A to, že nové GK jsou založené na DirectX 10, není žádný div - AFAIK OpenGL zatím nepodporuje unifikované shadery.