CUBu: Universal Bundling in CUDA
Graph bundling is becoming increasingly popular in information visualization. Increasingly many bundling methods, styles, visual effects, and applications thereof exist, for increasingly large datasets. However, for end users, this creates two problems
- when datasets get larger, bundling gets slower
- how can one easily experiment with the tens of bundling styles out there?
CUBu
We address both above problems by proposing CUBu (CUDA Universal Bundling). CUBu is not a new bundling method, but a framework. Its main novelty is the the effective expression of most existing bundling styles and variations in a computationally efficient, unified, way. This is made possible by reformulating all these variations in an image-based setting, and using a highly fine-tuned, computationally efficient, and scalable implementation of these based on NVidia's CUDA platform.
Performance
CUBu is currently (as of August 2023) the world's fastest general-purpose graph-and-trail bundling method. It can bundle datasets of hundreds of thousands of edges at interactive framerates on a reasonably modern GPU (say, produced after 2020); and is roughly 50 (yes, fifty) times faster than KDEEB, which was the fastest bundling algorithm so far.
This allows the interactive exploration of very large static datasets or large dynamic (streaming) datasets. Examples are highlighted below.
Bundling styles
CUBu offers a simple, user-friendly way to basically explore interactively most of the bundling styles proposed by earlier bundling techniques. With CUBu, no need to find, understand, own, implement, and maintain these techniques in your tool! You get very similar effects by the turn of a few simple parameters.
Shading and size
CUBu offers several styles of shaded bundles, similar to SBEB and IBEB but orders of magnitude faster and much easier to fine tune. The image below shows a tube-style shading of the amazon graph (just under 1 million edges), computed with CUBu in subsecond time on a GTX 690!
The art side of CUBu
CUBu allows one to generate tens of visual/bundling designs in seconds, by simply manipulating its various parameters. This enables the exploration of a large visual design space, leading to interesting, intriguing, and salient visualizations that are at the crossroads of image synthesis, image processing, and scientific and information visualization. Below is such an example (image taken from the cover of our recent data visualization book?)
Video: See it in action!
Source code
Please visit this link for access to the source code.
Publications
Many of our recent projects and papers are using CUBu in their implementation. For a detailed description of CUBu, its results, and benchmarks, see
CUBu: Universal real-time bundling for large graphs M. van der Zwan, V. Codreanu, A. Telea. IEEE TVCG 22(12), pp. 2550-2563, 2016