A Multi-GPU Programming Library for Real-Time Applications

  • Sebastian Schaetz
  • Martin Uecker
Conference paper

DOI: 10.1007/978-3-642-33078-0_9

Part of the Lecture Notes in Computer Science book series (LNCS, volume 7439)
Cite this paper as:
Schaetz S., Uecker M. (2012) A Multi-GPU Programming Library for Real-Time Applications. In: Xiang Y., Stojmenovic I., Apduhan B.O., Wang G., Nakano K., Zomaya A. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2012. Lecture Notes in Computer Science, vol 7439. Springer, Berlin, Heidelberg


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 results lead us to conclude that multi-GPU systems are a viable solution for real-time MRI reconstruction as well as signal-processing applications in general.


GPGPU multi-GPU hardware-aware algorithm real-time signal-processing MRI iterative image reconstruction 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sebastian Schaetz
    • 1
  • Martin Uecker
    • 2
  1. 1.BiomedNMR Forschungs GmbHMax Planck Institute for biophysical ChemistryGoettingenGermany
  2. 2.Department of Electrical Engineering and Computer SciencesUniversity of CaliforniaBerkeleyUSA

Personalised recommendations