Fluid Mark 1.2 Beta [Quelle: siehe Bildergalerie]
Update vom 17.03.2010: Nachdem sich die Behauptung, die Physx-Berechnungen würden auf CPUs absichtlich gebremst, hartnäckig hält, gibt es seitens
PhysX-Info nun frisches Diskussionsmaterial: Die kommende "Fluid Mark"-Version 1.2 erlaubt eine verbesserte Berechnung der Partikel auf dem Prozessor - mit Multithreading. Denn die sich noch in der Beta-Phase befindliche v1.2 bietet die neuen Optionen "Force PhysX CPU" sowie "Multi-core PhysX" samt "# of CPU cores", die maximale Anzahl der CPUs ist derzeit auf 32 begrenzt. Jeder zusätzliche Kern geht mit einem weiteren Emitter einher (Standard sind zwei), ein Emitter kann sich jedoch auf zwei Kernen "breitmachen".
Global Score mit und ohne Multicore-Phyx [Quelle: siehe Bildergalerie]
CPU-Auslastung mit und ohne Multicore-Phyx [Quelle: siehe Bildergalerie]
Mit aktivem "Multi-core PhysX" läuft die Render-Szene auf einem eigenen Kern, die Physx-Berechnungen werden auf die weiteren verteilt. Dies steigert den GraphX- wie den PhysX-Score. Sobald die Multicore-Optimierungen aktiv sind, steigt der Global Score im Falle eines C2Q Q9400 von grob 50 auf stolze 500 Punkte an. Damit überholt die CPU gar die Geforce GTX 275 mit aktivem GPU-Physx, die Prozessor-Auslastung liegt bei 100 statt 26 Prozent - ergo sind alle vier statt nur einem Kern beschäftigt. Zur Berechnung wurden drei Emitter und insgesamt 15.000 Partikel genutzt.
Update vom 21.01.2010: Nachdem PC Games Hardware nachgehakt hat, hat Nvidia nun ein offizielles Statement auf seinem Blog veröffentlicht. In diesem bestätigt man noch einmal, dass man die Leistung und Skalierbarkeit seit der Übernahme von Ageria durch Nvidia nicht reduziert habe. Wie bereits gestern festgestellt, liegt die Skalierung der Physx SDK in den Händen der Programmierer der anwendenden Software (Beispielsweise des Spielentwicklers). Als Beispiel wird der 3D Mark Vantage herangezogen, der bis zu 12 Threads mit Physikbeschleunigung auf der CPU ausführen kann. Zudem investiert Nvidia erhebliche Ressourcen in die Weiterentwicklung des Physx SDK für alle Plattformen, dass für PC, Konsolen und auch für das Iphone verwendet werden kann, so der Beitrag weiter.
Beispielweise lege das
Whitepaper des 3D Mark Vantage offen, dass Multithreading mit einer CPU problemlos realisierbar ist, auch wenn die CPU hier relativ ineffektiv zu Werke geht und einen geringen Workload aufweist. Die Behauptungen des AMD-Mitarbeiters seien schlichtweg falsch. Das Statement noch einmal in
englischen Original:
Recently, an interview ran with an AMD developer relations manager, who claimed that NVIDIA (after acquiring Ageia) had purposely reduced the performance and scalability of NVIDIA PhysX technology, with regards to CPU core utilization.
I have been a member of the PhysX team, first with AEGIA, 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.
There is lot more I say on this topic; however, I really have to get back to my day job, which is working to help make gaming great for all users! And today that includes cracking open a new copy of Dark Void, the latest PhysX title, which incorporates some awesome particle weapon effects, an insane Disintegrator gun with fluid particles and jetpack with physical smoke turbulence . I know, hard work, right? But someone has to do it!
Happy 3D gaming!
Original-Artikel vom 20.01.2010: Die meisten Leser werden sich noch an "Batmangate" erinnern. AMD griff Nvidia hier wegen der Physik-Beschleunigung an. Den Artikel finden Sie am Ende als weiterführende Information. Nun scheint das Thema in die zweite Runde zu gehen. Erneut wettert AMD in einem Interview gegen Nvidia. Die Physx-Technik solle Multicore-CPUs nicht effektiv genug nutzen.
Richard Huddy, Manager für Developer Relations bei AMD, erklärt im Interview mit
Bit-Tech, dass die CPU-Optimierung zu Ageia-Zeiten durchaus als gut zu bezeichnen war. Dies sei nach der Übernahme von Ageia durch Nvidia nicht mehr der Fall. Die Gründe hierfür seien für AMD klar: marketingstrategische Gründe. Seiner Ansicht nach habe Nvidia die Optimierung der CPU-API absichtlich schleifen lassen, um die Physikberechnung auf GPUs besser aussehen zu lassen. So verfolge man das Ziel, noch mehr Grafikkarten zu verkaufen, was natürlich im Interesse von Nvidia wäre. Teilweise wäre die API sogar nur Single-Threaded und würde nicht auf mehrere Kerne skalieren.
Bit-Tech: so we'll see AMD GPU physics in 2010?
RH: Bullet should be available certainly in 2010, yes. At the very least for ISVs to work with to get stuff ready.
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.
Huddy gibt weiter zu Protokoll, dass eine CPU durchaus in der Lage wäre, komplexe Physikberechnungen durchzuführen, wenn die API entsprechend gut programmiert ist. Nvidias Interesse sei hier aber gering und stelle Grafikkarten als einzige sinnvolle Möglichkeit zur Physikberechnung dar. Zwar versucht auch AMD mit Bullet GPU-Physik zu promoten, aber diese wird noch selten genutzt. Platzhirsch ist hier seit einiger Zeit Physx und Havok ist ebenfalls noch am Markt vertreten.
PC Games Hardware hat bei Nvidia nachgefragt. Man will die Vorwürfe prüfen und der Redaktion ein Statement zukommen lassen. In einer ersten Aussage lässt Nvidia wissen, dass das Threading bei Physx auf der CPU in den Händen der Entwickler liegt. Dass Physx auch auf bis zu acht Kerne skaliert, sei unter anderem im 3D Mark Vantage implementiert. Eine Veränderung des Codes nach der Übernahme zugunsten von GPU-Physik habe es ebenfalls nicht gegeben. AMD habe zudem selbst mehrfach demonstriert, dass "GPUs bei bestimmten Physikberechnungen den besseren Workload abliefern".
Links zum Thema Physx: •
AMD gegen Nvidia: Schwere Vorwürfe wegen angeblicher Benachteiligung in Batman (Update: Batman-Gate) •
Nvidia Physx: Grafikprozessoren übernehmen Physikberechnungen in Spielen
PC-Selbstbauer
19.03.2010 12:51
Also wäre vermutlich eine GPU doch schneller, wenn man auch die für sie passenden settings nimmt.
Kommt darauf an, wie groß der Gewinn für die GPU wäre, aber ja -- gut möglich.
Die Frage mit den 1 emitter 2 cpus finde ich auch interessant, denn dann wären für einen quadcore 2 emitter ausreichend und vermutlich würde dann das ergebnis anders aussehen. Aber man wollte ja zeigen, dass die CPUs doch besser sind
Glaube keienr Statistik die du nicht selber gefälscht hast
PCGH-Community-Veteran
19.03.2010 09:11
danke cesimbra
Also wäre vermutlich eine GPU doch schneller, wenn man auch die für sie passenden settings nimmt.
Die Frage mit den 1 emitter 2 cpus finde ich auch interessant, denn dann wären für einen quadcore 2 emitter ausreichend und vermutlich würde dann das ergebnis anders aussehen. Aber man wollte ja zeigen, dass die CPUs doch besser sind
Glaube keienr Statistik die du nicht selber gefälscht hast
PC-Selbstbauer
19.03.2010 02:11
@Marc, falls es noch interessiert:
Die unten verlinkte war eine der Primär(?)-Quellen, die zusammen mit den selektiven Zitaten aus dem englischen PCGH-Interview in dem nicht findbaren Forum diskutiert wurde -- deshalb kam ich auch mit Englisch und Französisch durcheinander, das war gemischt. Google hat das erst heute an der erwarteten Stelle (news) indirekt indexiert (Quelle eines anderen, dort gefundenen, ebenfalls älteren Artikels), obwohl das schon etliche Tage alt ist:
PhysX supporte bel et bien le Multi-CPU : FluidMark le prouve - PC INpact
Gruß
Thomas