Table of Contents
- Display Environments
- Display Walls
- Virtual Reality
- Multi-GPU Workstations
- Scalable Rendering
- Remote Visualization Clusters
- SLI and Crossfire Systems
Equalizer abstracts the actual configuration from the application code. This allows a single application to be deployed in a wide range of configurations. The flexibility of Equalizer enables mixing the features described below or completely different applications, often even in unforeseen ways.
Equalizer helps application developers to parallelize their applications, which is different from most other solutions, which operate on the OpenGL level. A detailed comparison of Chromium and Equalizer can be found in the documentation section.
Display walls are one of the most common use case for visualization clusters today. Equalizer can drive such large scale displays. The typical configuration, as shown on the right, executes one instance of the application's rendering code for each display. The applications will therefore get optimal performance due to the local, parallel OpenGL execution for each display device.
Virtual Reality installations immerse the viewer into a virtual world, by using stereo rendering on multiple, non-planar walls. Head tracking is used to adapt the rendering to the observer's position to provide the complete illusion of virtual environment. Equalizer provides both active and passive stereo rendering used in such environments, with the possibility to render each stereo view using a separate CPU and graphic card. While support for specific tracking devices is not in the scope of Equalizer, external devices can be integrated through a simple head tracking API.
Multipipe and multicore workstations are an affordable way to scale the
rendering performance and display size. Equalizer applications can exploit
multiple processors or processor cores, as well as multiple graphic cards by
running one rendering thread per graphic card. The configuration shown on the
left would execute two rendering threads alongside the application threads,
thus utilizing up to three CPU cores. It is also possible to use additional
graphic card(s) to contribute to the rendering of one view, as described
Get the OpenGL Scalability for Multi-GPU Systems White Paper.
Scalable rendering combines multiple graphic cards, processors and systems to render a single (or multiple) views. Various algorithms are implemented by Equalizer, as described on the scalability page, and can be combined in any way for rendering. Examples of this use case are using two graphic cards in one system to render each one eye view in stereo rendering, or using a cluster of machines to divide the database for rendering, as shown on the left.
Remote Visualization Clusters
Remote visualization clusters are an cost-efficient way of centralizing large scale data. Simulation data reaches multiple terabytes in size, making it time consuming and costly to move the data to the user workstations. Equalizer will provide remote visualization capabilities, allowing all applications to run on a central cluster, close to the data. The Equalizer server will be able to load balance multiple application dynamically, so that users experience the optimal performance under the given load. Multiple rendering nodes can parallelize the rendering for a single user.
SLI and Crossfire Systems
NVIDIA SLI and ATI Crossfire systems are currently driven by a single rendering thread, whose OpenGL rendering stream is multiplexed transparently to each graphic card by the driver. Once the hardware vendors expose an API to program the composition hardware, Equalizer can be easily adapted to make full use of the hardware by running one rendering thread per graphic card, as well as to dynamically update the configuration to provide good load balancing across all rendering threads.
Equalizer does not interfere with the application's rendering code. It can be used for parallelizing any visualization application based on OpenGL, which allows it to be used in all markets which can benefit of parallel rendering. A few examples are given below.
Scientific Visualization analyzes huge amounts of data generated from numerical simulations. This data has to be processed and analyzed to generate understanding of the results. Equalizer can help this process by breaking the limitations of a single machine, allowing more data to be visualized.
Medical Imaging produces volume data sets from various sources, for example MRI scanners. Visualizing this data is challenging, since it quickly outgrows the memory and fill rate capacity of a single graphics card. On the other hand, volume rendering is one of the best candidates for parallel rendering. Equalizer contains a volume rendering example to illustrate the benefit of scalable rendering and as a guideline for custom developments.
Oil and Gas
From a parallelization standpoint, the Oil and Gas industry has similar visualization requirements as the medical imaging sector. Huge volume data sets of reservoir simulations have to be visualized, often in collaborative or immersive environments. The flexibility of Equalizer allows to use scalable rendering also in immersive installations.
SLI™ is a trademark of NVIDIA Corporation. Crossfire™ is a trademark of ATI Technologies Inc. All other products named are trademarks of their respective owners.