One GPU for both rendering and physics simulation.[H] says single 580 - does that mean single 580 for PhysX or single 580 doing rendering *and* PhysX?
You would probably want to use PhysX and Rendering using the same GPU as the trip down to system RAM and then back to someone else's framebuffer would be insanely expensive!
http://physxinfo.com/news/11109/introduction-to-position-based-fluids/
Looks very good.
<a href="http://www.youtube.com/watch?v=6WZZARzpckw">YouTube Link</a>
The practical use of dedicated nVidia cards for PhysX in games with a substantial increment in performance prove that it isn't an issue.
You would probably want to use PhysX and Rendering using the same GPU as the trip down to system RAM and then back to someone else's framebuffer would be insanely expensive!
I had AMD HD 5850 Crossfire doing the rendering running with a separate Nvidia card for dedicated PhysX and I never had any problems at al
Can I use an NVIDIA GPU as a PhysX processor and a non-NVIDIA GPU for regular display graphics?
No. There are multiple technical connections between PhysX processing and graphics that require tight collaboration between the two technologies. To deliver a good experience for users, NVIDIA PhysX technology has been fully verified and enabled using only NVIDIA GPUs for graphics.
Really? Nvidia says otherwise here : http://www.nvidia.com/object/physx_faq.html#q8
Really? Nvidia says otherwise here : http://www.nvidia.com/object/physx_faq.html#q8
So the PCIe transfers aren't a bottleneck in this case? 2 way transfers over the dedicated PhysX device and then finally sending the results to main GPU for rendering should be quite costly.
Now I think about it, a position vector is of 12 bytes. To simulate a million particles for example, we need 12 MB of data to be transferred per frame. Assuming the PCie transfer speed is 4GB/s, it takes around 3 ms to transfer one buffer. That results in about 6 ms memory transfer penalty. This is per frame and is very costly in my opinion.
In a SLI configuration, this penalty is not present as each GPU renders its own frame and would be doing both the PhysX and Graphics.
PhysX can run on the same GPU that's performing rendering, but the performance will be sub-optimal. This is because the GPU can't run PhysX and render your graphics at the same time: when PhysX calculations need to be performed, a "context switch" from rendering to CUDA must occur, and another context switch is required when switching back to rendering. Although these context switches occur very quickly (on the order of microseconds), they also must occur very frequently, and the context switching time extracts a noticeable performance penalty (one of the performance advantages of NVIDIA's forthcoming "Fermi" architecture is that context switching is much faster). Context switches take so much time that PhysX running on a relatively low-end GPU that's dedicated to the task will handily outperform PhysX running on a high-end GPU that's also performing rendering.
To tackle that latter sort of problem, Fermi has much faster context switching, as well. Nvidia claims context switching is ten times the speed it was on GT200, as low as 10 to 20 microseconds.
From my own experience of running AMD 5850 Crossfire with a dedicated 9800GT for PhysX I'm saying you're opinion is wrong.
you are forgetting context switching
some googling shows that kepler cards are better off without a dedicated card. probably with the caveat that game shouldn't be gpu constrained.