Title :
targetDP: an Abstraction of Lattice Based Parallelism with Portable Performance
Author :
Gray, Alan ; Stratford, Kevin
Author_Institution :
EPCC, Univ. of Edinburgh, Edinburgh, UK
Abstract :
To achieve high performance on modern computers,it is vital to map algorithmic parallelism to that inherent inthe hardware. From an application developer´s perspective, itis also important that code can be maintained in a portablemanner across a range of hardware. Here we present targetDP(target Data Parallel), a lightweight programming layer thatallows the abstraction of data parallelism for applications thatemploy structured grids. A single source code may be used totarget both thread level parallelism (TLP) and instruction levelparallelism (ILP) on either SIMD multi-core CPUs or GPUacceleratedplatforms. targetDP is implemented via standard Cpreprocessor macros and library functions, can be added toexisting applications incrementally, and can be combined withhigher-level paradigms such as MPI. We present CPU and GPUperformance results for a benchmark taken from the latticeBoltzmann application that motivated this work. These demonstratenot only performance portability, but also the optimisationresulting from the intelligent exposure of ILP.
Keywords :
C language; application program interfaces; graphics processing units; lattice Boltzmann methods; macros; message passing; multi-threading; multiprocessing systems; programming environments; software libraries; source code (software); ILP; MPI; SIMD multicore CPU accelerated platform; SIMD multicore GPU-accelerated platform; TLP; algorithmic parallelism; data parallelism abstraction; higher-level paradigms; instruction level parallelism; lattice Boltzmann application; lattice based parallelism abstraction; library functions; lightweight programming layer; performance portability; portable performance; source code; standard C preprocessor macros; structured grids; target data parallel; targetDP; thread level parallelism; Computer architecture; Graphics processing units; Hardware; Lattices; Libraries; Parallel processing; Vectors;
Conference_Titel :
High Performance Computing and Communications, 2014 IEEE 6th Intl Symp on Cyberspace Safety and Security, 2014 IEEE 11th Intl Conf on Embedded Software and Syst (HPCC,CSS,ICESS), 2014 IEEE Intl Conf on
Print_ISBN :
978-1-4799-6122-1
DOI :
10.1109/HPCC.2014.212