Equalizer is the standard middleware to create and deploy parallel OpenGL-based applications. It enables applications to benefit from multiple graphics cards, processors and computers to scale the rendering performance, visual quality and display size. An Equalizer application runs unmodified on any visualization system, from a simple workstation to large scale graphics clusters, multi-GPU workstations and Virtual Reality installations.
Equalizer drives the world's most advanced visualization systems, for example an ultra-high resolution CAVE driven by 24 4k projectors, a 72-tile stereo display walls as well as scalability clusters for interactive raytracing using hundreds of nodes.
Sequel is an easily accessible interface to the Equalizer parallel rendering framework, and allows rapid development of clustered multi-GPU applications.
GPU-SD is a daemon and library for the discovery and announcement of graphics processing units using ZeroConf. It is used for auto-configuration of Equalizer applications.
Collage is a cross-platform C++ library for building heterogenous, distributed applications. It is the multi-threaded cluster backend for Equalizer.
Lunchbox is a C++ library for multi-threaded programming, providing OS abstraction, utility classes and high-performance primitives, such as atomic variables, spin locks and lock-free containers. It is used as a base library for Collage and Equalizer.
- Increased Performance, Visual Quality and Display Size: Equalizer contains the essence of 10+ years of experience in parallel and scalable rendering, easily integrated into your application.
- Fast Path for Parallel OpenGL Applications: Equalizer is minimally invasive and provides the natural parallel execution model to exploit the parallelism of multicore, multi-GPU workstations and graphics clusters.
- Feature-Rich Framework: Equalizer contains state-of-the-art scalable rendering algorithms, and its open development model ensures constant improvement. Equalizer applications are flexible and deployable in many, rapidly changing environments.
- Future-Proof: An active development community and a liberal open source license provide cutting-edge features and ensure the safety of your investment.
Applications written using the Equalizer framework benefit from the following features:
- Flexibility: An Equalizer application is configured at run-time, allowing the same executable to run optimally on any configuration -- from laptops to large scale visualization clusters, driving a single window or a six-sided CAVE while using one or multiple graphics cards to render each view.
- Large Data Visualization: An Equalizer application can aggregate the power of multiple processors, graphics cards and computers to scale the rendering performance, visual quality and display size. This allows virtually any data set to be rendered at any resolution at interactive framerates, given sufficient hardware resources.
- Virtual Reality: Equalizer applications can run seamlessly in Virtual Reality installations using active and passive stereo rendering, as well as head tracking for one or multiple observers.
- Distributed Execution: Equalizer includes Collage, an advanced library for distributed applications. The data distribution needed for cluster-based is made simple through versioned, distributed objects. Features like reliable multicast, InfiniBand support and data compression enable optimal performance on large-scale visualization clusters.
Equalizer is an open platform for high-performance visualization:
- Vendor Independence: The development is not governed by a single company. We work with several industry-leading hardware and software vendors as well as research institutions on improving Equalizer.
- Open Source: Equalizer uses a liberal license which allows usage in both open source and commercial products. The license ensures progress on the core framework and protects the ISV's investment in the future.
- Open Community: We encourage the usage in custom projects and welcome contributions to Equalizer by the community. We contribute our experience in parallel rendering back to the OpenGL community.
Equalizer is a cross-platform toolkit, available for Linux, Windows and Mac OS X and supports both 32-bit and 64-bit execution.
Equalizer does not interfere with the application's OpenGL rendering code. Equalizer requires at a minimum OpenGL version 1.1 in order to run, but uses later OpenGL features and extensions where available.
The Equalizer framework is licensed under the LGPL open source license, which allows free usage in commercial and open source projects. Only changes to the framework itself have to be contributed back to open source.
Consulting, software development service and support are available from Eyescale Software GmbH.
Please send us your feedback.
September 2012, Alessandro Febretti, Research Assistant and omegalib developer, Ph.D. Student, Electronic Visualization Laboratory, University of Illinois at Chicago:
I have been working with Equalizer for more than a year now and overall it has been a fantastic experience. Equalizer simplified my development work a whole lot.
February 2009, Brian Gianforcarom, Computer Science at Rochester Institute of Technology:
I've worked on projects trying to do similar things without Equalizer, and I can honestly say it was pretty bad. We only got it barely working. After finding Equalizer later, I can't imagine how much easier it would have been with such a tool. (source)
November 2008, Dan Wilcox, developer at Ars Electronica Futurelab:
Equalizer abstracts the windowing and distribution of shared objects which, trust me, is well worth the overhead of learning it. It's one thing to have each machine running the same rendering thread and it's quite another to send control and input dynamically between them. Plus it runs on Mac, Windows, and Linux. (source)
April 2008, Nicolas Cuntz, researcher at the University of Siegen:
Equalizer bundles multi-node rendering and synchronization tools into an easy-to-use and well-structured object-oriented framework. Porting to Equalizer can be achieved without completely restructuring the application. However, one has to deal with data synchronization and possible problems related to threading and parallelism, which is a problem that cannot completely be delegated to a library.
Image copyright Realtime Technology AG, 2008.
Linux® is a trademark of Linus Torvalds. Mac OS® is a trademark of Apple Computer, Inc. OpenGL® is a trademark of Silicon Graphics, Inc. Windows® is a trademark of Microsoft Corporation. The CAVE is a registered Trademark of the Board of Trustees of the University of Illinois at Chicago. All other products named are trademarks of their respective owners.