Equalizer logo
Collage logo
GPU-SD logo

Use Cases

Table of Contents

Display Environments

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

A display wall configuration
A display wall configuration

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

A four-sided Virtual Reality installation
A four-sided Virtual Reality installation

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.

Multi-GPU Workstations

A multipipe workstation
A multi-GPU workstation

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 next.
Get the OpenGL Scalability for Multi-GPU Systems White Paper.

Scalable Rendering

Sort-last scalable rendering
Sort-last scalable rendering

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

A remote visualization cluster
A remote visualization cluster

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

A SLI/Crossfire configuration
A SLI/Crossfire configuration

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.

Applications

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

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

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.

3D models courtesy of Cyberware , Stanford University Computer Graphics Laboratory and Computer Science Institute, University of Freiburg, Germany.