Cross-platform C++ library for building heterogenous, distributed applications
Collage is a cross-platform C++ library for building heterogenous, distributed applications. Among others, it is the cluster backend for the Equalizer parallel rendering framework. Collage provides an abstraction of different network connections, peer-to-peer messaging, node discovery, synchronization and high-performance, object-oriented, versioned data distribution. Collage is designed for low-overhead multi-threaded execution which allows applications to easily exploit multi-core architectures.
The API documentation can be found on eyescale.github.io. As with any open source project, the available source code, in particular the unit tests provide a reference for developing applications.
Technical questions can be posted to the Equalizer Developer Mailing List, or directly to [email protected].
Commercial support, custom software development and porting services are available from Eyescale. Please contact [email protected] for further information.
Collage provides different levels of abstraction to facilitate the development distributed applications:
Collage is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. It requires a C++11 compiler and uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:
Building from source is as simple as:
git clone --recursive https://github.com/Eyescale/Collage.git
mkdir Collage/build
cd Collage/build
cmake -GNinja .. -DCLONE_SUBPROJECTS=ON
ninja