Quadro Plex
From Virtools Wiki
This paper provides tips to successfully use an NVidia Quadro Plex with Virtools 4. Most of what is written here is also valid for any NVidia multi-GPU system. Users having experience on this topic are welcome to contribute.
For more general information about Multi CPU/GPU use, go read VR_MultiGPU_CPU.
Contents |
Introduction
There are 4 Quadro Plex models, each with specific usage targets. In all cases they may be used for either.
- Use multiples GPUs to create a single image: this is what is commonly known as SLI, but referred by NVidia as SLI Frame Rendering
- Use multiple GPUs to have many video outputs (this is commonly known as Multi-View, and called SLI MultiView)
As you can see, and this is tricky, NVidia is using in both cases the SLI term. Be also careful that we are in the Quadro world: drivers are developed with OpenGL in mind, meaning that DirectX may not run as fast and may even look really bad due to tearing issues.
If you ask your NVidia representative, you will find a lot of useful information in a document called "NVIDIA Quadro SLI Configuration Guide" initially released in August 2006. This paper is under NDA, so cannot be shared here. Another important note concerns the BIOS: be sure it conforms with the use of multiple cards in a single computer. Here's a compatibility chart for the QuadroFX 4500x2 : http://www.nvidia.com/object/quadro_fx_4500_x2_mobo.html The Plex also have a compatibility chart : http://www.nvidia.com/page/quadroplex_certified_platforms.html
Driver versions are very critical as these architecture are rather new and frequently updated: it is highly recommended to use the latest drivers (even non WHQL)
SLI Frame Rendering
[To Be Completed]
The chapter "NVIDIA SLI and Multi-GPU Performance Tips" in http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide.pdf gives a lot of usefull information
SLI Multiview
Multiple-GPU systems are not designed (at least under Windows) to enable a single window to span over multiple GPUs. This is why multiple render contexts are needed, each one with a given GPU. As Virtools 4 is not natively multi-pipe (nor multithread), the only solution consists in opening multiple windows, i.e players. This implies that ideally multiple CPUs/cores are required, one for each player, unless scenegraph traversal (culling, transparent object sorting, ...) or pure CPU tasks (e.g physics, particules, ...) would have to be treated serially and therefore limit the overall performances.
Using Virtools VR Pack in virtual cluster mode is certainly one of the easiest way to achieve this.
Successful experiences show that the following are needed:
- running OpenGL
- having one player per pair of CPU/GPU
- enable auto affinity mode: this is a beta feature (as for Virtools 4.0 SP2 / VRPack 2.0.5) that can be requested by contacting virtools technical support
Successful tests
- Virtools tested the use of two QuadroFX 4500 G in a single computer driving 4 screens.
Known Issues
We highly recommand to read the NVidia GPU driver release notes that can be downloaded on NVidia website
