Towards a performance-portable description of geometric multigrid algorithms using a domain-specific language
Author(s): Membarth R, Reiche O, Schmitt C, Hannig F, Teich J, Stürmer M, Köstler H
Publication year: 2014
Journal issue: 12
Pages range: 3191-3201
High Performance Computing (HPC) systems are nowadays more and more heterogeneous. Different processor types can be found on a single node including accelerators such as Graphics Processing Units (GPUs). To cope with the challenge of programming such complex systems, this work presents a domain-specific approach to automatically generate code tailored to different processor types. Low-level CUDA and OpenCL code is generated from a high-level description of an algorithm specified in a Domain-Specific Language (DSL) instead of writing hand-tuned code for GPU accelerators. The DSL is part of the Heterogeneous Image Processing Acceleration (HIPAcc) framework and was extended in this work to handle grid hierarchies in order to model different cycle types. Language constructs are introduced to process and represent data at different resolutions. This allows to describe image processing algorithms that work on image pyramids as well as multigrid methods in the stencil domain. By decoupling the algorithm from its schedule, the proposed approach allows to generate efficient stencil code implementations. Our results show that similar performance compared to hand-tuned codes can be achieved.
FAU Authors / FAU Editors How to cite
APA: Membarth, R., Reiche, O., Schmitt, C., Hannig, F., Teich, J., Stürmer, M., & Köstler, H. (2014). Towards a performance-portable description of geometric multigrid algorithms using a domain-specific language. Journal of Parallel and Distributed Computing, 74(12), 3191-3201. https://dx.doi.org/10.1016/j.jpdc.2014.08.008
MLA: Membarth, Richard, et al. "Towards a performance-portable description of geometric multigrid algorithms using a domain-specific language." Journal of Parallel and Distributed Computing 74.12 (2014): 3191-3201.