A Multi-GPU Programming Library for Real-Time Applications
Sebastian Schaetz, Martin Uecker

TL;DR
MGPU is a C++ library designed for single-node multi-GPU systems, enabling real-time applications like MRI reconstruction with significant speed-ups, demonstrating multi-GPU systems' viability for such tasks.
Contribution
This work introduces MGPU, a novel multi-GPU programming library with unique container abstractions and communication methods tailored for real-time applications.
Findings
Achieved 1.7x speed-up with 2 GPUs
Reached 2.1x speed-up with 4 GPUs
Validated multi-GPU systems for real-time MRI reconstruction
Abstract
We present MGPU, a C++ programming library targeted at single-node multi-GPU systems. Such systems combine disproportionate floating point performance with high data locality and are thus well suited to implement real-time algorithms. We describe the library design, programming interface and implementation details in light of this specific problem domain. The core concepts of this work are a novel kind of container abstraction and MPI-like communication methods for intra-system communication. We further demonstrate how MGPU is used as a framework for porting existing GPU libraries to multi-device architectures. Putting our library to the test, we accelerate an iterative non-linear image reconstruction algorithm for real-time magnetic resonance imaging using multiple GPUs. We achieve a speed-up of about 1.7 using 2 GPUs and reach a final speed-up of 2.1 with 4 GPUs. These promising…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
