Archive for the ‘Parallel Compositing’ Category

Equalizer 1.4 released

7. September 2012


The last two weeks have been quiet, since I was on biking through Switzerland. Meanwhile, poor Daniel back at work churned through most of the Collage changes outlined in the last post. You can see the changes in the Collage endian branch on github, which will be merged back into master in the next couple of weeks.

Now back to the news: After finally figuring out how to build Equalizer and dependencies using MacPorts portfiles on Mac OS X, I released the long-standing 1.4 version of Equalizer, GPU-SD, Lunchbox and vmmlib. Below is the release announcement – enjoy!

Neuchatel, Switzerland – September 7, 2012 – Eyescale is pleased to announce the release of Equalizer 1.4.

Equalizer is the standard framework to create and deploy parallel, scalable 3D applications. This modular release includes Collage 0.6, a cross-platform C++ library for building heterogenous, distributed applications, GPU-SD 1.4, a C++ library and daemon for the discovery and announcement of graphics processing units using zeroconf networking and Lunchbox 1.4, a C++ library for multi-threaded programming. All software packages are available for free for commercial and non-commercial use under the LGPL open source license.

Equalizer 1.4 is a feature release extending the 1.0 API, introducing major new features, most notably asynchronous readbacks, region of interest and thread affinity for increased performance during scalable rendering. It culminates over seven years of development and decades of experience into a feature-rich, high-performance and mature parallel rendering framework and related high-performance C++ libraries.

Equalizer enables software developers to easily build interactive and scalable visualization applications, which optimally combine multiple graphics cards, processors and computers to scale the rendering performance, visual quality and display size.

Equalizer Applications

Eyescale provides software consulting and development services for parallel 3D visualization software and GPU computing applications, based on the Eyescale software products or other open and closed source solutions.

Please check the release notes on the Equalizer website for a comprehensive list of new features, enhancements, optimizations and bug fixes. A paperback book of the Programming and User Guide is available.

We would like to thank all individuals and parties who have contributed to the development of Equalizer 1.4.

Left image courtesy of Cajal Blue Brain/ / Blue Brain Project. Second from left copyright Realtime Technology AG, 2008. Right image courtesy University of Siegen, 2008.

Programming and User Guide for Equalizer 1.4

29. June 2012

Equalizer Programming and User Guide

Equalizer Programming and User Guide


I’ve just uploaded the review version of the Programming and User Guide for the upcoming 1.4 release of Equalizer, and to a certain extent, Collage.

This one packs 111 pages of content (118 total) and 63 figures. In a couple of weeks I’ll create the final hardcopy version on Amazon/CreateSpace.

What’s New?

This edition has, among the customary full review pass, a lot of new content. Starting with a full new chapter on Sequel and the associated polygonal rendering example, continuing with new section for application-specific scaling factors in immersive environments, region of interest for compositing and load-balancing and zeroconf discovery in Collage, finally finishing with a substantial rewrite of the section on distributed objects in Collage.

What?

The book is structured in two parts: The User Guide, laying the foundation on parallel rendering and scalability algorithms, and then explaining the configuration of visualization systems for Equalizer applications. The appendix contains a full reference on the file format.

The second part, the Programming Guide, gradually introduces programming parallel rendering applications. Starting with the basics in eqHello, the complexity is gradually increased with a chapter on Sequel and Equalizer using the respective example application. After this, an advanced features section focuses on introducing and demonstrating on specific features in isolation. It finishes of with a chapter on the Collage network library.

Why?

The Programming and User Guide is the ‘OpenGL red book’ of Equalizer. It consolidates all the documentation available in various places (Equalizer website, mailing list, github feature issues, my head) into a single document. Apart from gathering this information, through the format emerges a bigger picture, putting design decisions in context.

Region of interest during scalable rendering

6. January 2012

ROI optimizes the compositing by limiting the readback region to the area which has been updated, thus reducing the numbers of pixels to be transferred, compressed and send over a network. I finally got around to implement ROI compositing in eqPly, the Equalizer example application.

ROI during streaming sort-last compositing

How does it work?

First, each resource tracks the region it updated during its draw operation by projecting each bounding box of each rendered chunk of geometry into screen space. All screen-space bounding boxes are merged to calculate the updated region.

Secondly, during a readback this region is intersected with the requested readback area. This intersected area is then read back.

Third, and this is the important part for parallel compositing, during assembly the resource region is updated to the union of the existing (draw) region and the regions of all input frames.

The corresponding commit is 448af149cd, in case you want to implement something similar. Eventually we will move this code to Equalizer, where we will also use the ROI information for load_equalizer optimization!

On the right you can see a screenshot of a four-way sort-last decomposition with streaming compositing. The ROI is rendered to demonstrate the feature. As a reminder, below is a video on streaming compositing for database decomposition:

Equalizer 0.9 Released!

11. August 2009

Cross-Segment Load-Balancing
We are pleased to announce the release of Equalizer 0.9, the standard framework to create and deploy parallel, scalable OpenGL applications. The most notable new features in this release are:

Please check the release notes on the Equalizer website for a comprehensive list of new features, enhancements, optimizations and bug fixes. A paperback book of the Programming and User Guide is available from Lulu.com.

We would like to thank all individuals and parties who have contributed to the development of Equalizer 0.9.

Four years of Equalizer

4. March 2009

Happy Birthday!

equalizer
Last Sunday, we’ve passed the fourth anniversary of ‘Project Equalizer’, as it was called back then.

The name stuck, although we are way past a project definition. Equalizer has become a feature-rich, generic framework for creating parallel and scalable OpenGL applications.

Since last year, the code has matured considerably, and a lot of new exiting features such as load-balancing and DPlex (alternate frame rendering) support. Furthermore, the community has grown a lot and there are a couple of new users out there.

Since last year, the Equalizer project and community feels much more ‘serious’, something which can’t be expressed by features alone. The upcoming BOF and activity on the mailing list is a good indicator for this.

I am looking forward to another year of interesting tasks around parallel programming and 3D graphics!

Equalizer BOF at Eurographics 2009

16. February 2009

Good news everybody, we will be holding an Equalizer Birds-Of-a-Feather meeting during Eurographics’09 – mark your calenders:

– Place: Eurographics 2009, TU Munich
– Date: March 31, 15:00-16:30
– Room: To be announced

Co-located with EG is the Eurographics Symposium on Parallel Graphics and Visualization, so there is yet another good reason to come to Munich!

We are still looking for presentations, please contact me by end of February if you are working with Equalizer and would like to present your work.

Coincidentally, there is also a new poll:

Equalizer 0.6 released!

3. December 2008

Here is the release announcement:

Scalable Display System

We are pleased to announce the release of Equalizer 0.6, a major advance in parallel OpenGL rendering, supporting:

  • Automatic 2D and DB load-balancing
  • DPlex (time-multiplex) compounds
  • Paracomp compositing backend

Please check the release notes on the Equalizer website for a comprehensive list of new features, enhancements, optimizations and bug fixes. The Programming Guide can be ordered at lulu.com.

We would like to thank all individuals and parties who have contributed to the development of Equalizer 0.6.

About RTT Scale

RTT Scale is the new scalability module for RTT’s leading high-end visualisation software suite RTT DeltaGen. The module is to be integrated into the forthcoming Version 8.5. RTT Scale uses Equalizer 0.6 to boost OpenGL and ray-tracing performance on highly realistic, complex scenes. Please visit http://www.rtt.ag for more information.

About Equalizer

Equalizer is the standard middleware to create parallel OpenGL-based applications. It enables applications to benefit from multiple graphics cards, processors and computers to scale rendering performance, visual quality and display size. Please visit http://www.equalizergraphics.com for more information.

Commercial support, custom software development and porting services are available from Eyescale Software GmbH. Please contact info@eyescale.ch for further information.

Image copyright Realtime Technology AG, 2008.

ParaComp 1.2 released

20. November 2008

A new version of the compositing library ParaComp was just released. Old-timers might remember this library as PICA.

Most notably, this release adds the necessary hooks for Equalizer, and Equalizer 0.6 will use Paracomp on Linux for alpha-blending. Right now this is the only mode where Paracomp is faster than the Equalizer default implementation, but I’m sure more will be added over time.

Kudos to the ParaComp team!

Streaming compositing for database decomposition

14. November 2008

I’ve published a new parallel rendering video showing streaming compositing for DB decomposition. The algorithm is pretty simple, but keeps the compositing workload and network load evenly distributed by streaming the results through all rendering nodes:

Enjoy!

New Poll, Equalizer 0.6 release coming

14. November 2008

I’ve just tagged the release candidate for the upcoming 0.6 release. You can get the release notes here.

Since the blogflux polls are broken for some time and to celebrate the new release, I’ve also created a new poll. Here it is: