PATUS: A Code Generation and Autotuning Framework For Parallel Iterative Stencil Computations on Modern Microarchitectures
Department of Mathematics and Computer Science, University of Basel, Switzerland
IEEE International Parallel & Distributed Processing Symposium (IPDPS), 2011
@inproceedings{christen2011patus,
title={PATUS: A Code Generation and Autotuning Framework For Parallel Iterative Stencil Computations on Modern Microarchitectures},
author={Christen, M. and Schenk, O. and Burkhart, H.},
booktitle={Parallel & Distributed Processing Symposium (IPDPS), 2011 IEEE International},
pages={676–687},
year={2011},
organization={IEEE}
}
Stencil calculations comprise an important class of kernels in many scientific computing applications ranging from simple PDE solvers to constituent kernels in multigrid methods as well as image processing applications. In such types of solvers, stencil kernels are often the dominant part of the computation, and an efficient parallel implementation of the kernel is therefore crucial in order to reduce the time to solution. However, in the current complex hardware micro architectures, meticulous architecture-specific tuning is required to elicit the machine’s full compute power. We present a code generation and auto-tuning framework textsc{Patus} for stencil computations targeted at multi- and many core processors, such as multicore CPUs and graphics processing units, which makes it possible to generate compute kernels from a specification of the stencil operation and a parallelization and optimization strategy, and leverages the auto tuning methodology to optimize strategy-dependent parameters for the given hardware architecture.
November 21, 2011 by hgpu