DocumentCode
1916031
Title
PyOP2: A High-Level Framework for Performance-Portable Simulations on Unstructured Meshes
Author
Rathgeber, Florian ; Markall, Graham R. ; Mitchell, L. ; Loriant, Nicolas ; Ham, David A. ; Bertolli, Carlo ; Kelly, Paul H. J.
Author_Institution
Dept. of Comput., Imperial Coll. London, London, UK
fYear
2012
fDate
10-16 Nov. 2012
Firstpage
1116
Lastpage
1123
Abstract
Emerging many-core platforms are very difficult to program in a performance portable manner whilst achieving high efficiency on a diverse range of architectures. We present work in progress on PyOP2, a high-level embedded domain-specific language for mesh-based simulation codes that executes numerical kernels in parallel over unstructured meshes. Just-in-time kernel compilation and parallel scheduling are delayed until runtime, when problem-specific parameters are available. Using generative metaprogramming, performance portability is achieved, while details of the parallel implementation are abstracted from the programmer. PyOP2 kernels for finite element computations can be generated automatically from equations given in the domain-specific Unified Form Language. Interfacing to the multi-phase CFD code Fluidity through a very thin layer on top of PyOP2 yields a general purpose finite element solver with an input notation very close to mathematical formulae. Preliminary performance figures show speedups of up to 3.4× compared to Fluidity´s built-in solvers when running in parallel.
Keywords
computational fluid dynamics; mathematics computing; mesh generation; parallel programming; program compilers; scheduling; specification languages; Fluidity CFD code; PyOP2 language; computational fluid dynamics; domain-specific unified form language; finite element computation; generative metaprogramming; high-level embedded domain-specific language; just-in-time kernel compilation; many-core platform; parallel implementation; parallel scheduling; performance portability; performance-portable simulation; unstructured mesh; code generation; domain-specific languages; finite-element methods; generative metaprogramming; high-level frameworks; just-in-time compilation; performance portability;
fLanguage
English
Publisher
ieee
Conference_Titel
High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion:
Conference_Location
Salt Lake City, UT
Print_ISBN
978-1-4673-6218-4
Type
conf
DOI
10.1109/SC.Companion.2012.134
Filename
6495916
Link To Document