PhysiX auf mehr als nur einen CPU Kern rechnen?

K

Kroft

Gast
Hi,

Ich wollte fragen ob es die Möglichkeit gibt, PhysiX auf mehr als nur einem CPU-Kern zu rechnen um das Ganze so zu beschleunigen?
Habe gelesen dass Nvidia da eine Sperre oder sowas eingebaut hat und die eigenen Grafikkarten den Prozess aufteilen.
Hoffe das ist nicht illegal danach zu fragen!

Gruß,

Kroft
 
na PhysX läuft auf der GPU (nvidia) nicht auf der CPU ...

du kannst Physikberechnungen auf der CPU laufen lassen, aber keine PhysX Berechnungen :D
 
Die entsprechende Physik-Bibliothek für CPUs (die verwendet wird, wenn du keine nVidia-Karte hast) produziert nur einen Thread - da kannst nichts dagegen machen. nVidia muss sich deshalb auch einiges an Kritik gefallen lassen, aber das ist eine andere Geschichte.

Gruß,
Lord Sethur

EDIT: http://www.tomshardware.de/PhysX-CPU-ausgebremst,news-244372.html
(Ah, hier ist der Link, den ich gesucht habe...)
 
Zuletzt bearbeitet:
Hey,

meinst Du nicht GPU-Kern?

Wozu willst Du das PhysX aufteilen? Wenn Du eine schnelle Grafikkarte hast de PhysX unterstützt reicht das völlig aus, oder?
 
scheischmanfred schrieb:
H

Wozu willst Du das PhysX aufteilen? Wenn Du eine schnelle Grafikkarte hast de PhysX unterstützt reicht das völlig aus, oder?

Vielleicht weil nicht jeder eine Nvidia-Graka hat, bzw es nur etwa 20 HW-Beschleunigte Titel gibt :-)
 
so viel halbwissen ist furchterregend :O *sich in nem dunklen Eck versteckt*

PS: das gilt nicht für den Thread ersteller sondern ging and die "du meinst bestimmt gpu"-sprecher ;)
 
Sollte da wirklich eine "Zusammenarbeit" zwischen CPU und GPU bestehen? ;)
 
@Lord Sethur genau sowas hab ich auch gelesen und gedacht, dass man die "Sperre" vielleicht umgehen könnte, da die CPUs heutzutage ja schon etwas mehr können.
Klar ist die GPU für sowas auch abgestimmt, aber die CPU ist doch flexibler und KÖNNTE das auch, denke ich. ;)
 
Ich bin davon ausgegangen das er eine Nvidia Karte meint weil er ja meinte er möchte das PhysX beschleunigen und nicht mit einer anderen Karte nutzen oder so.

Und PS: Die CPU wäre für die PhysX Berechnung zu langsam. und das es bei einer ATI nicht geht ist auch klar.
 
Die CPU ist für PhysX Berechnungen nicht zu langsam, denn es wird ja auch so eingesetzt, aber eben nur als ein Thread.
Da gibt es keine Sperre in dem Sinne. Ein Thread ist ein Thread, den teilt sich keine CPU so ohne weiteres auf.
p.s. Den arstechnika Artikel durchglesen. Recht interessant.
Man müsste demnach nur an den Sourcecode rankommen. Ob nicht jemand aus der alten Ageia Riege wtwas leaken könnte.
 
Zuletzt bearbeitet:
Ich dachte der wäre Multithreadfähig grundsätzlich nur die Entwickler implementieren es nicht, weil es aufwändiger ist...... Meinte das mal gelesen zu haben
 
@ScoutX

Natürlich ist PhysX auch auf der CPU multi-Threading fähig. Als Beispiele seien nur 3dMark Vantage und FluidMark ab Version 1.2.0 genannt. Die Unterstützung für mehrere Kerne muss vom Entwickler explizit eingebaut werden, wie OpamitKruecke bereits richtig erwähnt hat.



Ändert natürlich nichts an der gelinde gesagt lächerlich veralteten x87-Code-Basis.
 
Zuletzt bearbeitet:
Ich denke, wenn CPU-Physx mutlithreadingfähig ist, dann müsste dies automatisch ohne Entwickler zutun implementiert sein. Denn nach allem, was ich bis jetzt gelesen habe, läuft die Physx nach dem Prinzip Friß oder Stirb ab. Hier hast Du die API. Setze den Haken auf CPU oder GPU. Das war es.
Nochmals: in der GPU-Variante wird offensichtlich ein automatisches Multithreading durch den Treiber erzwungen. Der Entwickler muss nichts machen.
Der besagte Benchmark hingegen könnte auch aus anderen Gründen auf allen Kernen gleichzeitig ablaufen. Niemand ausser der Programmierer weiß, womit die Kerne ausgelastet werden oder wie die Threads erzeugt werden.

Alle Kommentare aus dem Arstechnica Thread haben nicht einmal den Benchmark erwähnt.
Ergänzung ()

PhysX FluidMark is popular benchmarking application, that is often used to test stability and performance of GPU PhysX configurations. It performs PhysX SDK based SPH Fluids particle simulation, which can be calculated on CPU or compatible Nvidia GPU, however, only one CPU core can be used in first case.

After all those “Multi-Core CPU Support Is Disabled in PhysX” claims by AMD and following hype, JeGX (FluidMark developer) decided to leverage multi-threading capabilities of PhysX SDK and augment FluidMark with actual multi-core CPU support.

http://physxinfo.com/news/tag/fluidmark/

Daran sieht man deutlich, dass der Entwickler es durch irgendeinen Dreh geschafft hat, alle Kerne zu nutzen. Zuerst war es ihm auch nur möglich 2 einzusetzen, wobei bei der GPU von Nvidia schon 32 Kerne gefordert werden auf der GPU, damit diese GPU Physix berechnet.

Somit ist klar, dass der Entwickler eine Physx Berechnung mit Multicore Unterstützung implementieren konnte, aber definitiv nicht die Version nutzt, auf die die GPU Variante beruht.
Somit kann es z.B. sein, dass der Entwickler eine Codeimplementierung einsetzen musste, die zu Lasten der Performance ging.
 
Zurück
Oben