TSFC: a structure-preserving form compiler
File(s) 1705.03667v1.pdf (649.29 KB)
Working paper
Author(s)
Homolya, Miklós
Mitchell, Lawrence
Luporini, Fabio
Ham, David A
Type
Working Paper
Abstract
A form compiler takes a high-level description of the weak form of partial
differential equations and produces low-level code that carries out the finite
element assembly. In this paper we present the Two-Stage Form Compiler (TSFC),
a new form compiler with the main motivation to maintain the structure of the
input expression as long as possible. This facilitates the application of
optimizations at the highest possible level of abstraction. TSFC features a
novel, structure-preserving method for separating the contributions of a form
to the subblocks of the local tensor in discontinuous Galerkin problems. This
enables us to preserve the tensor structure of expressions longer through the
compilation process than other form compilers. This is also achieved in part by
a two-stage approach that cleanly separates the lowering of finite element
constructs to tensor algebra in the first stage, from the scheduling of those
tensor operations in the second stage. TSFC also efficiently traverses
complicated expressions, and experimental evaluation demonstrates good
compile-time performance even for highly complex forms.
differential equations and produces low-level code that carries out the finite
element assembly. In this paper we present the Two-Stage Form Compiler (TSFC),
a new form compiler with the main motivation to maintain the structure of the
input expression as long as possible. This facilitates the application of
optimizations at the highest possible level of abstraction. TSFC features a
novel, structure-preserving method for separating the contributions of a form
to the subblocks of the local tensor in discontinuous Galerkin problems. This
enables us to preserve the tensor structure of expressions longer through the
compilation process than other form compilers. This is also achieved in part by
a two-stage approach that cleanly separates the lowering of finite element
constructs to tensor algebra in the first stage, from the scheduling of those
tensor operations in the second stage. TSFC also efficiently traverses
complicated expressions, and experimental evaluation demonstrates good
compile-time performance even for highly complex forms.
Date Issued
2018-01-01
Date Acceptance
2018-04-06
Citation
SIAM Journal on Scientific Computing
ISSN
1064-8275
Publisher
Society for Industrial and Applied Mathematics
Journal / Book Title
SIAM Journal on Scientific Computing
Copyright Statement
© 2017 The Author(s)
Identifier
http://arxiv.org/abs/1705.03667v1
Subjects
cs.MS
cs.MS
cs.NA
68N20, 65M60, 65N30
Notes
Submitted to SIAM Journal on Scientific Computing
