High-Level Programming for Medical Imaging on Multi-GPU Systems using the SkelCL Library

Steuwer Michel, Gorlatch Sergei

Forschungsartikel (Zeitschrift) | Peer reviewed

Zusammenfassung

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 usingparallel patterns (skeletons); 2) memory management is simplified usingparallel container data types; 3) an automaticdata (re)distributionmechanism 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%.

Details zur Publikation

FachzeitschriftProcedia Computer Science
Jahrgang / Bandnr. / Volume18
Seitenbereich749-758
StatusVeröffentlicht
Veröffentlichungsjahr2013
Sprache, in der die Publikation verfasst istEnglisch
DOI10.1016/j.procs.2013.05.239
StichwörterSkelCL; Multi-GPU Computing; Algorithmic Skeletons; LM OSEM Algorithm; Image Reconstruction

Autor*innen der Universität Münster

Gorlatch, Sergei
Professur für Praktische Informatik (Prof. Gorlatch)
Steuwer, Michel
Institut für Informatik