kynan / CPC2013

Performance-Portable Finite-element Computations from High-level Specifications with FFC and PyOP2

Home Page:http://kynan.github.io/CPC2013

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Performance-Portable Finite-element Computations from High-level Specifications with FFC and PyOP2

Florian Rathgeber1, Graham Markall1, Lawrence Mitchell3, Nicolas Loriant1, David Ham1,2, Paul Kelly1

1 Department of Computing, Imperial College London

2 Grantham Institute for Climate Change, Imperial College London

3 EPCC, University of Edinburgh

Slides from my talk at CPC 2013, June 3-5, Lyon, France.

Contact: Florian Rathgeber, @frathgeber

Abstract

We present a tool chain for the fully automated synthesis of performance-portable finite-element solvers for multicore and GPGPU platforms from high-level specifications. Our runtime code generation and just-in-time compilation pathway takes finite-element forms in the domain-specific language UFL to low-level code. Automatically generated finite-element assembly kernels are passed to PyOP2, a domain-specific language for mesh-based simulation codes, which acts as an intermediate abstraction layer for executing the numerical kernels in parallel over an unstructured mesh. Easy integration of our tool chain allows transparently adding performance portability to existing simulation codes.

Resources

All the code is open source under BSD or LGPLv3 license

PyOP2

https://github.com/OP2/PyOP2

FFC

https://bitbucket.org/mapdes/ffc

Firedrake

https://code.launchpad.net/~fluidity-core/fluidity/firedrake

Benchmarks

https://github.com/OP2/PyOP2_benchmarks

This talk

https://kynan.github.io/CPC2013

About

Performance-Portable Finite-element Computations from High-level Specifications with FFC and PyOP2

http://kynan.github.io/CPC2013


Languages

Language:HTML 58.8%Language:CSS 41.2%