nVidia vs. AMD o PhysX

0

Richard Huddy, který má v AMD na starosti vztahy s vývojáři, poskytl 6. ledna serveru Bit-tech rozhovor, v němž se bavil nejen o DirectX 11, Eyefinity ale i o konkurenčních technologiích jako Intel Larrabee nebo Nvidia Fermi a PhysX. Mimochodem, klepnutí na odkaz stojí za to už z toho důvodu, že hned uvidíte asi nejhezčí ilustraci nasazení DirectX 11 v DiRT 2 (jako byste sami hledali asi i v záznamech dost pracně).

V rozhovoru se dozvíte, jak AMD momentálně spolupracuje s vývojáři her, proč nemá takovou technologii pro anti-aliasing (MSAA) v Unreal Engine 3 anebo co se stalo, že třeba ve hře Saboteur nebyla při uvedení žádná podpora pro Radeony. V další části jsou otázky redaktorů Bit-tech směřovány na DirectX 11 ve hrách Stalker: Call of Pripyat a Alien versus Predator a vůbec výhled na penetraci DirectX 11. V poslední kapitole je odbyt projekt Larrabee a především se tam objevuje rudý hadr pro Nvidii (následuje citace):

The other thing is that all these CPU cores we have are underutilised and I’m going to take another pop at Nvidia here. When they bought Ageia, they had a fairly respectable multicore implementation of PhysX. If you look at it now it basically runs predominantly on one, or at most, two cores. That’s pretty shabby! I wonder  why Nvidia has done that? I wonder why Nvidia has failed to do all their QA on stuff they don’t care about – making it run efficiently on CPU cores – because the company doesn’t care about the consumer experience it just cares about selling you more graphics cards by coding it so the GPU appears faster than the CPU.

It’s the same thing as Intel’s old compiler tricks that it used to do; Nvidia simply takes out all the multicore optimisations in PhysX. In fact, if coded well, the CPU can tackle most of the physics situations presented to it. The emphasis we’re seeing on GPU physics is an over-emphasis that comes from one company having GPU physics… promoting PhysX as if it’s Gods answer to all physics problems, when actually it’s more a solution in search of problems.

O tom, že má Richard pravdu ohledně současného výskytu her s PhysX, kde je tato technologie využita typicky na jedno či max. dvě jádra procesoru, nikdo nepochybuje. Zdá se však, že obvinění ohledně odebraných optimalizací pro vícejádrové procesory neměl podloženo dostatečnými důkazy a Nvidia se proti tomu ohrazuje na mnoha frontách, včetně firemního blogu a zaslaných vyjádření novinářům. Citujeme tedy Nadeema Mohammada, který se u Nvidie stará o PhysX a pracoval už ve společnosti Ageia:

I have been a member of the PhysX team, first with AGEIA, and then with NVIDIA, and I can honestly say that since the merger with NVIDIA there have been no changes to the SDK code which purposely reduces the software performance of PhysX or its use of CPU multi-cores.

Our PhysX SDK API is designed such that thread control is done explicitly by the application developer, not by the SDK functions themselves. One of the best examples is 3DMarkVantage which can use 12 threads while running in software-only PhysX. This can easily be tested by anyone with a multi-core CPU system and a PhysX-capable GeForce GPU. This level of multi-core support and programming methodology has not changed since day one. And to anticipate another ridiculous claim, it would be nonsense to say we “tuned” PhysX multi-core support for this case.

PhysX is a cross platform solution. Our SDKs and tools are available for the Wii, PS3, Xbox 360, the PC and even the iPhone through one of our partners. We continue to invest substantial resources into improving PhysX support on ALL platforms–not just for those supporting GPU acceleration.

As is par for the course, this is yet another completely unsubstantiated accusation made by an employee of one of our competitors. I am writing here to address it directly and call it for what it is, completely false. NVIDIA PhysX fully supports multi-core CPUs and multithreaded applications, period. Our developer tools allow developers to design their use of PhysX in PC games to take full advantage of multi-core CPUs and to fully use the multithreaded capabilities.

Nadeem odmítá spekulaci o tom, že Nvidia upravila PhysX tak, aby pozbyla optimalizace pro vícejádrové procesory a jako příklad uvádí třeba 3DMark Vantage, kde CPU PhysX používá až 12 procesových vláken a využije teoreticky až 12 jader procesoru (CPU). Celou řečí naznačuje, že je na vývojářích, jak PhysX využijí/nasadí a mezi řádky je nevyjádřeno, proč by Nvidia měla napomáhat podpoře mnohavláknových CPU PhysX, když CPU nevyrábí.

Naskýtá se (rovněž nevyjádřená) odpověď, že třeba proto, aby (GPU) PhysX ztratila čím dál silnější příchuť proprietární technologie. Nová otázka potom je, jestli by povolení PhysX na GeForce jakožto druhé kartě ke grafické kartě jiné značky (typicky ATI Radeon), větší spolupráce na mnohavláknové CPU PhysX i v titulech s GeForce (GPU) PhysX anebo dokonce PhysX nad OpenCL něčemu pomohla a nepřišla by třeba obvinění, že PhysX na CUDA je pořád rychlejší než PhysX na OpenCL.

Nvidia zatím pořád sází na to, že PhysX je čistě její výhoda a dokáže ji proměňovat v důležitou přidanou hodnotu. O tom svědčí i konec odkazovaného blogpostu, ve kterém Nadeem zmiňuje PhysX v Dark Void. Škoda, že dle videí z Dark Void soudě, zůstává PhysX v mapě Tornado ve hře Unreal Tournament 3 vytvořená ještě společností Ageia i po tak dlouhé době nepřekonána: kdyby tu byly hry s takovou fyzikou, tak zřejmě nikdo o významu ani nepolemizuje.

Zdroj: Bit-tech, blog Nvidia

Klepnutím přehrajete video

nVidia vs. AMD o PhysX

Ohodnoťte tento článek!