Extending the SkelCL Skeleton Library for Stencil Computations on Multi-GPU Systems
Departement of Mathematics and Computer Science, University of Munster, Germany
HiStencils, 2014
@article{breuer2014extending,
title={Extending the SkelCL Skeleton Library for Stencil Computations on Multi-GPU Systems},
author={Breuer, Stefan and Steuwer, Michel and Gorlatch, Sergei},
journal={HiStencils 2014},
pages={15},
year={2014}
}
The implementation of stencil computations on modern, massively parallel systems with GPUs and other accelerators currently relies on manually-tuned coding using low-level approaches like OpenCL and CUDA, which makes it a complex, time-consuming, and error-prone task. We describe how stencil computations can be programmed in our SkelCL approach that combines high level of programming abstraction with competitive performance on multi-GPU systems. SkelCL extends the OpenCL standard by three high-level features: 1) pre-implemented parallel patterns (a.k.a. skeletons); 2) container data types for vectors and matrices; 3) automatic data (re)distribution mechanism. We introduce two new SkelCL skeletons which specifically target stencil computations – MapOverlap and Stencil – and we describe their use for particular application examples, discuss their efficient parallel implementation, and report experimental results on manycore systems with multiple GPUs.
February 9, 2014 by hgpu