Nach der Übernahme von Ageias PhysX-Technologie hatte es Nvidia in wenigen Monaten geschafft, das PhysX-SDK in das eigene CUDA-SDK zu implementieren und bietet seit kurzem entsprechende Treiber zur GPU-Beschleunigung von PhysX an. Nun soll es einem findigen Anwender gelungen sein, PhysX auch mit einer ATi-GPU zu beschleunigen.
So will sich Eran Badit von NGOHQ.com mit dem CUDA- und PhysX-SDK etwas auseinander gesetzt haben und mit relativ geringem Aufwand es geschafft haben, PhysX mit einer ATi Radeon HD 3850 (RV670) zu beschleunigen. Bei einem GPU-Takt von 715 MHz und einem Speichertakt von 900 MHz (Standard: 670/830 MHz) konnten einem Screenshot zufolge 68,83 Operationen pro Sekunde (OPS) im PhysX-relevanten CPU Test 2 aus Futuremarks 3DMark Vantage erreicht werden.
Eine von uns getestete, nicht übertaktete GeForce 8800 GT bringt es auf 93,67 OPS, womit das Ergebnis der HD 3850 in guter Relation zur Grafikleistung der beiden Grafikkarten stehen würde. Mit einem auf 3,15 GHz übertakteten Intel Core 2 Duo E4300 lassen sich gerade einmal 7,45 OPS berechnen.
3DMark Vantage: CPU Test 2 (PhysX)
Angaben in Punkten
|
Eran Badit gab bekannt, dass er das selbst entwickelte Software-Tool, welches die PhysX-Beschleunigung auf einer ATi-GPU ermöglicht, auf NGOHQ.com zur Verfügung stellen werde, sobald er es mit weiteren Grafikkarten getestet habe. Eine Unterstützung für die neue Radeon HD 4800 (RV770) könne er noch nicht zusagen, da NGOHQ.com bislang noch keine entsprechenden Karten von ATi zur Verfügung gestellt bekommen habe.
Bereits im vergangenen April hatte Nvidia angekündigt, dass PhysX jedem verfügbar gemacht werden solle, der daran interessiert sei – auch anderen Grafikkartenherstellern. Sollte es sich bei dem auf NGOHQ.com aufgetauchten Screenshot nicht um einen Fake handeln, hätte Eran Badit damit bereits eindrucksvoll bewiesen, dass es für ATi aus technischer Sicht nur ein kleiner Schritt wäre, die nicht so recht in Schwung kommende Physik-Beschleunigung voran zu treiben.
Außer in irgendwelchen Techdemo-Levels, die auf der Unreal Engine 3 oder Konsorten basieren, gibt es keine bombastische Software, die regen Gebrauch von PhysiX zieht.
Die PhysiX Effekte in Spielen, wie Advanced Warfighter oder Unreal Tournament 3 fallen einem nicht mal sonderlich auf. Und für sowas sollte man noch vor kurzer zeit mehrere hundert Euro auf den Tisch legen?
Also mal ehrlich - wenn man in Spielen eine vergleichbare Havoc-Physik einbinden würde, wie die zum Beispiel in Half Life2 für Aufruh sorgte, dann hätten wir wieder nen guten Titel auf der platte. Aber es gibt, obwohl es Titel für extra Physikbeschleuniger sind, nur magere Spiele...
Da gefallen mir die alt gewordenen havoc Titel um einiges besser - auch wenn sie sehr CPU-lastig gewesen sind und viele Single Core Prozessoren schnell alt aussahen so "spürte" man praktisch die Physik.
Es ist ja schön, dass die GPUs soviel besser für Physik-Berechnungen geeignet sind als CPUs, aber das bringt praktisch nix, wenn die GPU normalerweise schon die Grafik berechnen muss und das ist schon fordernd genug.
Unterstützt nicht UT3 PhysX? Kann man denn damit nicht endlich testen? Der CPU Test in Vantage ist noch realitätsfremder als der ganze Test insgesamt und führt höchstens dazu, PhysX für GPUs anzuhimmeln.
Und ich will nix davon hören, dass man doch eine weitere Graka einbauen kann. Die meisten User wollen sowas nicht, also kann ich auf derartige Kommentare verzichten.
Trotz allem ist das natürlich ein toller Fortschritt. Ich hoffe, das lässt sich auch für andere CUDA-Programme realisieren, damit auch ein CUDA-x264 (für alle modernen GPUs) richtig realisierbar ist. ^^
@all
nividia hat ATI sogar angeboten, PhysX für deren Karten zu unterstützen. Lest die News nochmal durch, es steht ein kleiner Hinweis dazu.
ATi falls for PhysX
ATi wird dann die PhysX Engine und die Havok Engine beschleunigen können. Was Besseres kann man sich ja gar nicht wünschen.
Naja. Nehmen wir mal an die Entwickler würden perfekt optimieren und den Quad-Core mit 20 % für die Physikberechnungen auslasten, dann kannst du dir anhand der Messung in diesem Artikel ja ausrechnen, wie stark die GPU stattdessen belastet würde. Eine 3800 ist im Vantage Test ca. 10 mall so schnell wie die CPU. Die GPU würde als nur zu 2% bei gleicher Physikberechnung zusätzlich belastet.
Wenn man jetzt noch bedenkt, dass die Anzahl der Streamprozessoren in den neuen GPUs erheblich gestiegen ist und ein offizieller Treibersupport wahrscheinlich noch effektiver arbeitet, als diese Bastellösung, dann kann man sich vorstellen, wie stark die CPU von der GPU entlastet wird.
Das was vorher die komplette CPU lahm gelegt hätte, benötigt nun nur ein paar % auf der Graka und gibt Resourcen für andere Dinge, wie Sound oder KI-Engione frei. Besonders für die KI würden die Entwickler gerne mehr Rechenleistung verwenden.
Außerdem sollte man beachten, dass eine komplxe Physik auch immer mehr Berechnungsaufwand für die CPU bedeutet, selbst wenn die tatsächlichen Kollisionsberechnungen und so auf der GPU durchgeführt werden.
Die ganzen zusätzlichen Objekte, die durch die Physikengine hinzu kommen belasten die CPU nicht unerheblich. Besonders bei DX9 Spielen.
Bei reinen DX10 Spielen sieht das etwas besser aus. Da greifen nun die Vorteile von DX10 und Hardware-Physik ineinander.
Eine GPU basierte Physik entlastet die CPU also indem sie die Physikberechnungen übernimmt, belastet sie aber wieder mehr mit dem hohen Verwaltungsaufwand den die ganzen Objekte erfordern. Es ist also nicht so, als ob die Quad-Cores auf einmal überflüssig würden.
Auch diese Karten haben keinen PhysX Chip sondern berechnen die Physik mittels der Softwareschnittstelle CUDA.
Das heisst NVidia hat die PhysX API in CUDA umgesetzt und kann so die Physikberechnungen auf der Grafikkarte mittels den Unified Shadern berechnen lassen.
Andy