Automated and parallel code generation for finite-differencing stencils with arbitrary data types
Computer Science, Massey University, Albany, North Shore 102-904, Auckland, New Zealand
Procedia Computer Science, Volume 1, Issue 1, May 2010, Pages 1795-1803
@article{hawick2010automated,
title={Automated and parallel code generation for finite-differencing stencils with arbitrary data types},
author={Hawick, KA and Playne, DP},
journal={Procedia Computer Science},
volume={1},
number={1},
pages={1789–1797},
issn={1877-0509},
year={2010},
publisher={Elsevier}
}
Finite-Differencing and other regular and direct approaches to solving partial differential equations (PDEs) are methods that fit well on data-parallel computer systems. These problems continue to arise in many application areas of computational science and engineering but still offer some programming challenges as they are not readily incorporated into a general standard software library that could cover all possible PDEs. Achieving high performance on numerical solutions to PDEs generally requires exposure of the field data structures and application of knowledge of how best to map them to the memory and processing architecture of a particular parallel computer system. Stencil methods for solving PDEs are however readily implemented as semi-automatically generated skeletal frameworks. We have implemented semi-automated stencil source code generators for a number of target programming languages including data-parallel languages such as CUDA for graphics processing units (GPUs). We report on some performance evaluations for our generated PDE simulations on GPUs and other platforms. In this article we focus on (diffusive) PDEs with a non-trivial data type requirement such as having vector or complex field variables. We discuss the issues and compromises involved implementing equation solvers with fields comprising arbitrary data types on GPUs and other current compute devices.
February 13, 2011 by hgpu