Auto-Generation of Parallel Finite-Differencing Code for MPI, TBB and CUDA
Computer Science, IIMS, Massey University, Auckland, New Zealand
In Proceedings of 16th International Workshop on High-Level Parallel Programming Models and Supportive Environments, HIPS-2011
@inproceedings{playne2011auto,
author={Playne, D. P. and Hawick, K. A.},
title={Auto-Generation of Parallel Finite-Differencing Code for MPI, TBB and CUDA},
booktitle={16th International Workshop on High-Level Parallel Programming Models and Supportive Environments 2011},
year={2011},
location={Anchorage (Alaska), USA},
language={english}
}
Finite-difference methods can be useful for solving certain partial differential equations (PDEs) in the time domain. Compiler technologies can be used to parse an application domain specific representation of these PDEs and build an abstract representation of both the equation and the desired solver. This abstract representation can be used to generate a language-specific implementation. We show how this framework can be used to generate software for several parallel platforms: Message Passing Interface (MPI), Threading Building Blocks(TBB) and Compute Unified Device Architecture(CUDA). We present performance data of the automatically-generated parallel code and discuss the implications of the generator in terms of code portability, development time and maintainability.
February 13, 2011 by hgpu