A Multi-GPU Programming Library for Real-Time Applications

2012 | conference paper. A publication with affiliation to the University of Göttingen.

Jump to: Cite & Linked | Documents & Media | Details | Version history

Cite this publication

​A Multi-GPU Programming Library for Real-Time Applications​
Schaetz, S. & Uecker, M. ​ (2012)
​Algorithms and Architectures for Parallel Processing pp. 114​-128. , Japan.
Springer. DOI: https://doi.org/10.1007/978-3-642-33078-0_9 

Documents & Media

License

GRO License GRO License

Details

Authors
Schaetz, Sebastian; Uecker, Martin 
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 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.
Issue Date
2012
Publisher
Springer
ISBN
978-3-642-33077-3
Conference Place
Japan
Event start
2012-09-04
Event end
2012-09-07
ISSN
0302-9743
Language
English

Reference

Citations


Social Media