Portable Parallelization of the EDGE CFD Application for GPU-based Systems using the SkePU Skeleton Programming Library

Oskar Sjöström, Soon-Heum Ko, Usman Dastgeer, Lu Li, Christoph Kessler

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

EDGE is a complex application for computational fluid dynamics used e.g. for aerodynamic simulations in avionics industry. In this work we present the portable, high-level parallelization of EDGE for execution on multicore CPU and GPU based systems by using the multi-backend skeleton programming library SkePU. We first expose the challenges of applying portable high-level parallelization to a complex scientific application for a heterogeneous (GPU-based) system using (SkePU) skeletons and discuss the encountered flexibility problems that usually do not show up in skeleton toy programs. We then identify and implement necessary improvements in SkePU to become applicable for applications containing computations on complex data structures and with irregular data access. In particular, we improve the MapArray skeleton and provide a new MultiVector container for operand data that can be used with unstructured grid data structures. Although there is no SkePU skeleton specifically dedicated to handling computations on unstructured grids and its data structures, we still obtain portable speedup of EDGE with both multicore CPU and GPU execution by using the improved MapArray skeleton of SkePU.
Original languageEnglish
Title of host publicationParallel Computing: On the Road to Exascale
PublisherIOS Press
Number of pages11
ISBN (Electronic)978-1-61499-621-7
ISBN (Print)978-1-61499-620-0
Publication statusPublished - 2016
EventInternational Conference on Parallel Computing (ParCo) 2015 - Edinburgh, United Kingdom
Duration: 1 Sept 20154 Sept 2015


ConferenceInternational Conference on Parallel Computing (ParCo) 2015
Country/TerritoryUnited Kingdom


Dive into the research topics of 'Portable Parallelization of the EDGE CFD Application for GPU-based Systems using the SkePU Skeleton Programming Library'. Together they form a unique fingerprint.

Cite this