View on GitHub

OpenSWR

A High Performance, Highly Scalable Software Rasterizer for OpenGL

For more information please send us an email.

Overview

The purpose of OpenSWR is to provide a high performance, highly scalable OpenGL compatible software rasterizer that allows use of unmodified visualization software. This allows working with datasets where GPU hardware isn't available or is limiting. OpenSWR is completely CPU-based, and runs on anything from laptops, to workstations, to compute nodes in HPC systems.

Click either image for more information

OpenSWR internally builds on top of LLVM, and fully utilizes modern instruction sets like Intel® Streaming SIMD Extensions (SSE), and Intel® Advanced Vector Extensions (AVX and AVX2) to achieve high rendering performance. The charts below illustrate the compelling advantage of OpenSWR over Mesa llvmpipe in a real application.

Click for more information

We are working on integrating both the SWR core and driver into the Mesa project. This will provide a SWR renderer that supports much of the OpenGL 3.3 Core and OpenGL 3.0 Compatibility contexts.

As with our original version of OpenSWR, this is a drop-in replacement OpenGL library - no recompilation of your programs is necessary.

Updates

Oct 19, 2015

Our initial public version of our Mesa+SWR integration work is now available from https://github.com/OpenSWR/openswr-mesa.

Aug 9, 2015

Since the release of early alpha, we have been busy integrating our OpenSWR core into the Mesa project. This enables us to take advantage of a very mature, very feature complete driver stack that would have been very difficult to develop on our own.

The result is that OpenSWR now has far greater functionality than the OpenGL 1.4 features available in the first alpha release.

Dec 12, 2014

ALPHA release. This version is the first to be released to the public. Please bear with us if there are build or functionality issues. The major applications used for testing were ParaView and VisIt - if you are trying another program you may encounter missing features.

This version is coming out as we are working on some major cleanups to the code. In order to keep our commitment to release this to the community and to provide a well-tested version, we are releasing the code that was used for the SC14 demonstrations. The next major release will contain the cleanups.

The source code can be downloaded from here:

Dec 8, 2014
The slides for our OpenSWR-related talks at SC14 are now available:
Nov 13, 2014
There is an upcoming talk on OpenSWR at Supercomputing 2014: We will be posting the slides of this talk as soon as the event is over.