Installation and SLI PhysX
You’re going to need a few things before you can start enjoying PhysX on your CUDA-enabled GeForce 8, 9, or GeForce GTX 200 GPU. For starters you’ll need the right graphics driver. We conducted all of our tests with a slightly different build of ForceWare 177.79 than the driver that’s available on nvidia.com. NVIDIA will be providing this PhysX-enabled graphics driver for everyone on the 12th.
The second thing you’ll need is the latest PhysX driver, our tests were run with NVIDIA’s 8.07.18 PhysX driver. For existing games, you will also need the latest PhysX-enabled patch.
Once you’ve got all that in place, you’re ready to go. PhysX can be toggled on or off via the PhysX control panel. From the PhysX control panel you can also check out a few PhysX demos, and if you’ve got two cards installed in your system, you can also select your PhysX SLI mode.
For running PhysX across multiple GPUs, NVIDIA provides two modes: conventional SLI, and multi-GPU mode.
In SLI mode, each GPU in your system shares the physics processing and graphics workload evenly. This is the default mode when SLI is enabled in the ForceWare control panel.
In multi-GPU mode, one GPU handles all graphics duties, while the second card is solely responsible for tackling all physics commands. Under this mode end users can mix and match different cards. For instance, someone who purchased a GeForce 8800 GT last year can run this card for physics, and then pick up a brand new GeForce GTX 280 to run as the primary graphics card for gaming. An SLI motherboard isn’t required for this mode either, both SLI and non-SLI motherboards are supported.
One limitation of this mode under Vista is that a second monitor must be attached to run PhysX on the secondary GPU, and you must extend the Vista desktop onto this secondary monitor. According to NVIDIA this limitation is related to the Windows Vista display driver model (WDDM). However, the same limitation does not exist in Windows XP.
If you don’t have a second monitor available, you can also run a second display cable from your monitor to the second GeForce card running PhysX.
NVIDIA is working on a workaround for this issue, but we don’t have an ETA on when this will be available or how it will work.
To answer some of the questions surrounding SLI PhysX, NVIDIA has come up with the following FAQ:
Question: Which graphics cards can accelerate NVIDIA PhysX?
A: All GeForce 8, 9, and GTX 200 series graphics cards with at least 256MB of local onboard graphics memory will be able to accelerate NVIDIA PhysX.
Question: Do you support PhysX on SLI now?
A: Running PhysX in SLI performance mode (SLI on), where each GPU renders a separate frame that includes both graphics and physics workloads, is supported in our August Release 177 drivers, but it’s still a work in progress. Our initial focus with these drivers is to either use a single GPU to run graphics and physics, or run graphics on one GPU and physics on a second GPU. The latter “multi-GPU” configuration currently has a limitation under Vista (not XP) that requires a monitor attached to each GPU (extending the desktop to the second monitor), or a monitor cable attached to both GPUs and connected to a single monitor. Future drivers will remove this limitation.
Question: How will PhysX scale from single card to 2-way and 3-way SLI in the future?
A: PhysX will support multi-GPU setups. Future drivers will deliver better performance and user experiences.
Question: Can I run PhysX on a different card than the one I use for gaming? When will you release support for asymmetrical multi-GPU configurations?
A: Yes. PhysX will support asymmetric multi-GPU configurations within the next few months. There is some limited Beta support in the first release, but the support will improve in future releases. This will enable users to still use their older 8 or 9-Series card when they upgrade to a newer card based on the GeForce GTX 280 for example.
Question: Can I run PhysX on my motherboard GPU?
A: PhysX uses NVIDIA CUDA technology, so if the motherboard GPU supports CUDA, then it can be used for PhysX. Generally running both graphics and PhysX on a motherboard GPU may not deliver the best experience; adding a discrete GeForce GPU significantly improves performance.
Question: Does PhysX scale across the GPU and CPU? If yes, does that mean having a faster CPU enhances PhysX performance or visual quality?
A: PhysX uses both the CPU and GPU, but generally the most computationally intensive operations are done on the GPU. A CPU upgrade could result in some performance improvement, as would a GPU upgrade, but the relative improvement is very dependent on the initial balance of the system. An optimized PC with the right mix of CPU to GPU horsepower will be the best balanced solution.
Question: How does PhysX support heterogeneous computing?
A: PhysX shows how heterogeneous computing delivers the best user experience. While the game is running, the PhysX system executes portions of the physical simulation on the CPU and other portions on the parallel processors of the GPU. This ensures all the components of a balanced PC are used efficiently to deliver the best experience.
Question: Why do some PhysX demos only run on one CPU core?
A: PhysX fully supports applications which are multi-threaded to leverage multiple CPU cores. Some single-feature PhysX demos consist of only one type of physics body which runs more efficiently on a single CPU core. If the same demo was part of a more complete game environment, there would be multiple PhysX objects and active game and rendering threads, so the game would leverage more than one CPU core more efficiently. Improving the way individual PhysX objects can be efficiently spread over multi-processors is being actively researched and developed.
Question: Will running PhysX on a GPU slow down gaming performance?
A: Running physics on the GPU is typically significantly faster than running physics on the CPU, so overall game performance is improved and frame rates can be much faster. However, adding physics can also impact performance in much the same way that anti-aliasing impacts performance. Gamers always enable AA modes if they can because AA makes the game look better. Gamers will similarly enable physics on their GPUs so long as frame rates remain playable. With AA enabled, running physics on a GPU will generally be much faster than running physics on a CPU when AA is enabled. PhysX running on a dedicated GPU allows offloading the PhysX processing from the GPU used for standard graphics rendering, resulting in an optimal usage of processing capabilities in a system.
Question: Intel and AMD say it’s better to run physics on the CPU. What is NVIDIA’s position?
A: PhysX runs faster and will deliver more realism by running on the GPU. Running PhysX on a mid-to-high-end GeForce GPU will enable 10-20 times more effects and visual fidelity than physics running on a high-end CPU. Portions of PhysX processing actually run on both the CPU and GPU, leveraging the best of both architectures to deliver the best experience to the user. More importantly, PhysX can scale with the GPU hardware inside your PC. Intel and AMD solutions, which utilize the Havok API, are fixed function only and cannot scale.