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

Diskuse k Sony má pro PlayStation 3 PhysX (už zase)

PhysX začíná být všude, jsem hodně zvědavý co na to ATI s DirectX 11. Jen aby to pro Ati nebylo jako s tím křížkem po funuse...

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

>> Muff:
ATI si může v nejhorším případě PhysX licencovat a pak to poběží i na jejích grafikách. Otázka zní, jestli jí to její vnitřní čest (a peněženka) dovolí ;).

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

Pokiaľ bude fyzika implementovaná v DX, tak to je skoro ako s 3D podporou. Je úplne jedno od koho máš grafiku, hry ti na tom pobežia.

Tak pokiaľ výrobcovia hier začú s implementáciou na úrovni DX, je úplne jedno či máš zrovna PhysX kartu, alebo hocijakú inú grafickú kartu ...

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

MS,Intel a AMD jde do Havoku.

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

Stačí si všimnout jednoho podstatného detailu. Že PhysX běží dobře na akcelerátoru Ageia, pro který byl napsán, tomu se (logicky) nediví nikdo. Logicky - to se také jeví jako důvod, proč na CPU běží o tolik pomaleji. Ale jak je vidět, tak běží dobře naportovaný i na grafické kartě. OK, náhody se občas dějí. Jenže nakonec se dozvídáme, že běží dobře naportovaný i na Cellu. A to už by bylo moc náhod najednou. A vyvstává otázka: Proč běží PhysX naprosto výborně na všem, kromě procesorů? Odpověď je jednoduchá - protože se to výrobci tak hodí. Když PhysX vlastnila Ageia, neměla důvod kód optimalizovat pro nic jiného, než pro svůj čip, takže kód určený pro její čip byl samozřejmě nevhodný pro CPU, na kterém běžel prachmizerně. Ale jak je vidět, když se kód zoptimalizuje, běží efektivně na čemkoli jiném: grafické kartě, cellu... Jediný důvod, proč běží mizerně na CPU je, protože pro něj není ani minimálně optimalizovaný. Dokonce je PhysX verze kódu určená pro CPU jaksi "deoptimalizovaná" - prokázané je, že využívá pouze jedno jádro - přičemž PPU, GPU i CELL jsou vícejádrové čipy, takže je zřejmé, že PhysX umí efektivně využívat vícejádrové výpočetní jednotky (pokud je mu to umožněno), takže v případě běhu na CPU jde o umělé omezení. Takových omezení imho bude více - Ageia ani nVidia nemohou mít zájem, aby na CPU běžel PhysX podobně, jako PPU či GPU, protože pak by se veškeré marketingové výhody ztratily. Dalším důkazem, že k realistické simulaci fyziky výpočetní výkon CPU bohatě dostačuje, je právě Havoc a všechny hry na něm postavené. PhysX je jen marketing, který přežije pouze do okamžiku, kdy bude akcelerace fyziky standardizovaná Microsoftem (nebo dokud bude nVidia ufinancuje implementaci do dalších her).

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

2 no-X: Procesory Cell a Graficke karty maju neporovnatelne vacsi vypoctovy vykon nez x86 procesory. To nie je o optimalizacii. A Havok ide na CPU preto tak dobre lebo jeho vypocty nesimuluju fyziku tak detailne - porovnaj si triestenie skla cez havok a cez PhysX

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

Rotavator: To je marketing. Teoretický výkon GPU je sice někde jinde, ale je úzce specializovaný a zatím neexistuje jediná GP-GPU aplikace pro koncové zákazníky, která by s využitím GPU dávala prokazatelně lepší výsledky, než na CPU. Je třeba brát v úvahu, že ani GPU a ani Cell nejsou čipy, pro které byla PhysX akcelerace v době jejího vývoje určena a přesto na nich běhá dobře. Už samotný fakt, že PhysX na CPU využívá jen jedno jádro, je důkazem záměrné zmršenosti kódu.

Také si stačí vzpomenout na prezentaci ATi z doby R5xx, kdy byla prezentována dema, která po grafické stránce kopírovala dema Agei a která při akceleraci na X1600 (případně na integrovaném GPU) dávala řádově stejný výkon v kolizích za sekundu, jako dema Ageii na jejich PPU (později po vydání čtyřjádrových phenomů AMD prezentovala akceleraci fyziky přes havok API kompletně softwarově a opět s podobnými výsledky). Pozdější testy PhysX her pak ukazovaly, že v mnoha případech téměř nezáleží na tom, jak výkonné GPU fyziku akceleruje, ale spíš na tom, jestli PhysX běží přes GPU, nebo CPU. Což opět poukazuje na to, že nejde o nikterak náročné výpočty, ale spíš o záměrně špatnou implementaci pro CPU. Leta byla fyzika akcelerována přes CPU a nikdy se neobjevil ani náznak toho, že by pro tyto účely CPU nestačilo. Procesory se naopak ještě začaly paralelizovat, takže jsou pro podobné účely ještě vhodnější. Pak se objevila jedna firma, která si vytvořila vlastní čip, vlastí API a začala tvrdit opak. Jenže se jí za celou dobu její existence nepodařilo prokázat, že by měla pravdu. Pak ji koupila nVidia a z ničeho nic by vše mělo být jinak?

Jsme v úplně stejné situaci, jako v roce 2000, kdy nVidia tlačila TnL a tvrdila, že CPU nejsou dostatečně výkonná a tuto úloho musí převzít GPU. Tehdy nikoho nenapadlo, že by to nemusela být pravda, nikdo se neobtěžoval otestovat výkon v TnL na GeForce 256 nebo GF2 oproti CPU a když se mi po letech ta karta dostala do ruky a otestoval jsem si TnL výkon sám, byl výsledek takový, že ve všech náročnějších TnL testech byl rychlejší procesor (případně byl výkon obou řešení srovnatelný)... Ale ono to stejně bylo jedno, protože krátce na to se osvětlení začalo počítat per-pixel a ne per-vertex a stejně tak i transformace se přesunula na vertex shader ALUs, které ji v případě potřeby emulovaly. Takže to byla jen jedna nafouknutá marketingová bublina. Stejně, jako PhysX.

Dříve výrobci hardwaru postupovali tím způsobem, že v případě, kdy byl výkon v nějaké operaci procesorem omezen, se vyvinula a začala prodávat oddělená výpočetní jednotka, která danou operaci prováděla efektivněji. Dnes, kdy je situace poměrně ustálená a žádných novinek není třeba, výrobci hledají, jak by zákazníkovi kus hardwaru mohli vnutit a jsou schopni vykonstruovat naprosté šílenosti. Ono to funguje a bude fungovat, dokud zákazníci nezačnou používat mozek. Pokud vyvíjím hardware a vyvíjím i kód, tak není třeba mít lepší hardware (jako v případě akcelerace grafiky, kdy kód neovlivním), ale stačí mít takový kód, který bude na všech jiných čipech běhat špatně a ostatní už se není třeba starat. Vyvinout špatný produkt je jednodušší, rychlejší a jak je vidět, tak i efektivnější...

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

re no-X: Je úžasné, jak dokážeš dát správné údaje a vyvodit z nich naprostý nesmysl.
Např. o T&L bylo známé, že ta v GF2 má cca výkon odpovídající 2GHz cpu a ta slabá v Savage(kterou nakonec vypli kvůli problémům cca 500MHz (k čemu to tehdy přirovnávali? nevím, nejspíš P3, nebo Athlon). Ale u nich šlo v první řadě o odlehčení CPU, který se potom mohl věnovat jiné práci. A tak to taky fungovalo.
Stejně tak si pěkně uvedl, že mainstream GPU X1600-ka má podobný výkon ve fyzice jako o pár let mladší high-end CPU Phenom. A tvůj závěr, že je CPU stejně rychlé jako GPU pro počítání fyziky...

A k tomu škálování PhysX se silnější grafikou - není tajemství (dokonce to řekli přímo zástupci nv), že při nízkém počtu počítaných objektů, může být výkonnější slabší GPU s výše taktovanými shadery (souvisí to se způsobem dělení práce mezi grafiku a fyziku). Současně bylo řečeno, že pro dnešní tituly, je optimum těch 64 - výše to potom tak nestoupá.
A divit se, že neoptimalizují software pro konkurenci je opravdu jen k pousmání.

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

to no-X: Sorry, ale placas nesmysly. Grafika je sice specializovana, ale proto aby mohla delat svoji praci je optimalizovana na dve veci: a) vypocty slozite matematiky a za b) masivni paralelizaci. Shodou okolnosti oboji je to co se na vypocet fyziky velmi hodi. Zvlastni, ze? :-) Co se tyce vykonu grafiky v negrafickych operacich, tak se staci podivat na vysledky grafik v distribuovanych vypoctech, kde treba pri vypoctech Folding@Home ma i vcelku lowendova grafika vyrazne vyssi vykon nez nejlepsi CPU co se da dneska do pecka za penize koupit. A tezko nekdo muze argumentovat, ze Folding@Home nebylo optimalizovane pro CPU, kdyz to je presne to misto, kde tyhle typy vypoctu bezely leta nez se zacaly cpat na grafiku. To same je treba dekryptovani, kde se dnes bezne pouzivaji graficke karty, ktere zvysi vykon proti CPUckum radove.

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

re Ne:
Folding@Home není zrovna ideální příklad jak dokazovat výkon GPU oproti CPU. GPU počítá ve Folding@Home výrazně jednodušší úlohu než CPU a ještě navíc při tom i drsně zatěžuje CPU. Takhle se to opravdu porovnávat nedá. Fakt je ten, že CPU jsou obecně výkonnější, než si široká veřejnost myslí. I například při poslední dobou dost omílaném práci s videem GPUčka silně zatěžují CPU a ještě jimi produkovaný obraz je kvalitou naprosto otřesný.
Je fakt, že v určitém omezeném okruhu úloh GPU předvádí parádní výkony, ale obecně a v širokém záběru je to docela bída. Pokud jde o fyziku, zatím jsem nějakou vysokou nadřazenost PhysX na GPU oproti havocu u CPU neviděl. Zato jsem viděl dost silně zaujatých a demagogicky hypovaných "benchmarků" od nVidie, kde se snaží dokázat podřadnost CPU. Opravdu mě zatím GPU o své nepostradatelnosti pro výpočet fyziky nepřesvědčili.

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

ptipi: Věty jako "je známo, že..." nejsou argument. Obecné povědomí má od reality často hodně daleko. Přímo srovnávat výkon CPU a TnL jednotky není možné. Zkus si to sám otestovat a přijdeš na to, že TnL jednotka starých GF je výkonnější jen v těch nejjednodušších operacích, na které ale stačí i CPU. V nejnáročnějších (více světel a vysoké množství polygonů) - tedy v okamžiku, kdy by TnL mělo reálný přínos - není výkon těchto čipů vyšší, než na soudobých procesorech. Pěknou ukázkou je Q3A, kde např. Kyro II, které používá SW TnL, není pomalejší než GF2GTS. Totéž GF2MX oproti R7000/V5-5500/Kyro I... a žádné 2GHz CPU k tomu není třeba. 3Dfx nebo Matrox měli produkty s podporou TnL už před nVidií, ale nevydali je, protože to považovali za zbytečné - nemělo to žádný reálný přínos a je bohužel nenapadlo na tom stavět marketingově, když technologicky to bylo zbytečné. Kdyby TnL bylo co k čemu, nebyl by důvod od něj ustoupit. Ale protože to nepřineslo kýžené výsledky a počet polygonů ve hrách stejně nemohl být zvýšen dostatečně pro to, aby HW lighting dával kvalitativně použitelné výsledky, tak se začalo používat osvětlení na úrovni per-pixel namísto per-vertex a "L" z TnL odpadlo. "T" po hardwarové stránce odpadlo kráce nato s příchodem vertex shaderů, kde bylo pro zpětnou kompatibilitu pouze emulováno. V majoritě DX9 čipů prostě už žádná TnL jednotka není, funkčnost je emulovaná - byla to technologie na rok a půl, nafouknutá marketingová bublina, na jejímž základě nVidia prodala dvě generace grafik, ale budoucnost to nemělo.

Ohledně akcelerace fyziky si protiřečíš. Na základě srovnání záměrně poku*veného kódu pro CPU s optimalizovaným kódem pro GPU se nedají vynášet závěry, že GPU je výrazně výhodnější. Ono samozřejmě je, ale rozdíly v reálných hrách by byly maximálně na úrovni pár desítek procent a nikoli několikanásbkem, jak prezentuje nVidia.

Také jsem nikde nepsal, že se divím, že nVidia neoptimalizuje pro CPU. Na tento fakt pouze poukazuju, protože většina lidí si ho neuvědomuje a o akceleraci fyziky pak vynáší nesmyslné závěry.

Ne: Jak už tu bylo řečeno, F@H nemůžeš používat pro srovnání výkonu GPU a CPU, protože každý klient řeší jiný typ úloh. Možná by bylo dobré (a přinejmenším slušné) si o problematice něco zjistit, než někoho neoprávněně nařkneš z plácání nesmyslů.

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

re no-X: ad TnL - srovnáváš různé architektury, kde káždá měla něco lepšího než ostatní (kyro tile-based rendering, radeon efektivně využíval svou paměťovou propustnost, geforce hrubý výkon). Z toho k žádným závěrům nemůžeš dojít. On ale existoval i test, kde na jedné kartě sis to mohl srovnat - 3DMark. A tam systematicky bývalo vyšší skore se zapnutým HW T&L (na tom samém kusu hw). Stejně tak že transformace byla zobecněna ve vertex shaderech a osvětlení vylepšeno v pixel shaderech není nic proti technologii T&L, pouze klasický pokrok.

ad fyzika: nikde si neprotiřečím. obě ukázky byly optimalizované(jak x1600, tak phenom). a sám jsi řekl, že měly podobné výsledky. jen jsi přehlédl, že tyto věcí dělí pár let a cenová kategorie.

každopádně i kdybychom vzali tvou myšlenku, že po optimalizaci na CPU by bylo gpu jen o pár desítek procent rychlejší (což je nesmysl - možná core i7; dneska jsou ale typická dvoujádra a u nich se o moc více výkonu, než právě to povolené jedno jádro nezíská). i tak je nesmysl investovat do cpu fyziky, když s každou další generací bude gpu ten rozdíl zvětšovat, protože výkon gpu roste rychleji a fyzika evidentně je dobře paralelizovatelná (i když taky ne ideálně).

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

re ptipi:
Nemohu souhlasit s tím, že se výkon GPU zvedá rychleji než u CPU, takže nemá cenu investovat do provádění fyzikálních výpočtů na CPU. Podle mého názoru se výkon u CPU zvedá podobnou rychlostí jako u GPU. Je trochu problém tyto nárůsty výkonu měřit, protože teoretcký výkon není zcela vypovídající a u GPU jsou zase rozdíly v architektuře tak značné (pipeline vs oddělení shaderů od texturovacích jednotek, atd...), že je v tom ještě větší zmatek. Háček je ale v tom, že spousta lidí si při pohledu na benchmarky po uvedení nových CPU myslí, že nejsou o moc výkonnější, protože se testují většinou na jednovlákonových aplikacích, nebo takových které jejich výkon neukáží (hry limitované GPU). U GPU je tomu naopak. Ty se testují převážně u her, kde vede zdvojnásobení výpočetních jednotek téměř k dvojnásobnému výkonu. Je ale nesmysl odvozovat nárůs výkonu u CPU dle často jednovláknových aplikacích a u GPU u perfektně připravených na obrovské množství vláken. Pokud bys testnul první Pentium a Core i7 u nějaké dobře optimalizované úlohy dosáhl bys klidně i více jak dvacetinásobného výkonu (což je i teoretický rozdíl výkonu mezi nimi: 5,2 GFLOPs vs 100 GFLOPs).
je fakt, že například od doby uvedení prvního Core 2 Quad k dnešnímu Core i7 se výkon moc nezvedl, ale to platí i u GPU. Poslední dobou se zde hlavně přejmenovávají grafiky a od uvedení GeForce 8800 se výkon zvedl stěží dvakrát. I do budoucna, kdy Intel chystá AVX (3 a 4 operandy a 256 bitové vektory) a o rok pozdeji i FMA instrukci (další teoretické zdvojnásobení výkonu), se někdy koncem roku 2011 (za necelé tři roky) dočkáme CPU o zhruba 10x vyšším teoretickém výkonu než dnes (FMA - 2x; AVX - 2x; 8jader - 2x; plus frekvence). Jistě, u běžných aplikací se 10x vyššího výkonu zcela jistě nedočkáme, ale u tak zvaných GPGPU aplikací ano. Fyzika jde dobře dělit na vlákna a s vektory se u ní také počítá. Tyhle jednoduché matematické výpočty dost dobře korespondují s teoretickým výkonem. CPU opravdu nezvyšuje výkon pomaleji než je to vidět u GPU.

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

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