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 :
بازگشت