targetDP: an Abstraction of Lattice Based Parallelism with Portable Performance

Alan Gray, Kevin Stratford
EPCC, The University of Edinburgh, Edinburgh EH9 3JZ, UK
16th IEEE International Conference on High Performance and Communications (HPCC), 2014


   title={targetDP: an Abstraction of Lattice Based Parallelism with Portable Performance},

   author={Gray, Alan and Stratford, Kevin},



Download Download (PDF)   View View   Source Source   



To achieve high performance on modern computers, it is vital to map algorithmic parallelism to that inherent in the hardware. From an application developer’s perspective, it is also important that code can be maintained in a portable manner across a range of hardware. Here we present targetDP, a lightweight programming layer that allows the abstraction of data parallelism for applications that employ structured grids. A single source code may be used to target both thread level parallelism (TLP) and instruction level parallelism (ILP) on either SIMD multi-core CPUs or GPU-accelerated platforms. targetDP is implemented via standard C preprocessor macros and library functions, can be added to existing applications incrementally, and can be combined with higher-level paradigms such as MPI. We present CPU and GPU performance results for a benchmark taken from the lattice Boltzmann application that motivated this work. These demonstrate not only performance portability, but also the improved optimisation resulting from the intelligent exposure of ILP.
No votes yet.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: