High-level Programming for Medical Imaging on Multi-GPU Systems Using the SkelCL Library: 2013 International Conference on Computational Science

Michel Steuwer, Sergei Gorlatch

Research output: Contribution to journalArticlepeer-review

Abstract

Application development for modern high-performance systems with Graphics Processing Units (GPUs) relies on low-level programming approaches like CUDA and OpenCL, which leads to complex, lengthy and error-prone programs. In this paper, we present SkelCL – a high-level programming model for systems with multiple GPUs and its implementa- tion as a library on top of OpenCL. SkelCL provides three main enhancements to the OpenCL standard: 1) computations are conveniently expressed using parallel patterns (skeletons); 2) memory management is simplified using parallel container data types; 3) an automatic data (re)distribution mechanism allows for scalability when using multi-GPU systems. We use a real-world example from the field of medical imaging to motivate the design of our programming model and we show how application development using SkelCL is simplified without sacrificing performance: we were able to reduce the code size in our imaging example application by 50% while introducing only a moderate runtime overhead of less than 5%.
Original languageEnglish
Pages (from-to)749-758
Number of pages10
JournalProcedia Computer Science
Volume18
DOIs
Publication statusPublished - 2013

Keywords

  • SkelCL
  • Multi-GPU Computing
  • Algorithmic Skeletons
  • LM OSEM Algorithm
  • Image Reconstruction

Fingerprint

Dive into the research topics of 'High-level Programming for Medical Imaging on Multi-GPU Systems Using the SkelCL Library: 2013 International Conference on Computational Science'. Together they form a unique fingerprint.

Cite this