Computational Science Technical Note CSTN-128


Auto-Generation of Parallel Finite-Differencing Code for MPI, TBB and CUDA

D. P. Playne and K. A. Hawick

Archived November 2010


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.

Keywords: automatic code generation; MPI; TBB; CUDA; accelerators; portability; multi-platform.

Full Document Text: PDF version.

Citation Information: BiBTeX database for CSTN Notes.

BiBTeX reference:

  author = {D. P. Playne and K. A. Hawick},
  title = {Auto-Generation of Parallel Finite-Differencing Code for MPI, TBB
	and CUDA},
  booktitle = {Proc. International Parallel and Distributed Processing Symposium
	(IPDPS); Workshop on High-Level Parallel Programming Models and Supportive
	- HIPS 2011},
  year = {2011},
  pages = {1163-1170},
  address = {Anchorage, Alaska, USA},
  month = {16-20 May},
  publisher = {IEEE},
  note = {in conjunction with IPDPS 2011, the 25th IEEE International Parallel
	\& Distributed Processing Symposium},
  doi = {10.1109/IPDPS.2011.265},
  timestamp = {2011.05.16}

[ CSTN Index | CSTN BiBTeX ]