TSFC: a structure-preserving form compiler

05/10/2017
by   Miklós Homolya, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2017

Exposing and exploiting structure: optimal code generation for high-order finite element methods

Code generation based software platforms, such as Firedrake, have become...
research
07/07/2021

Fast Evaluation of Finite Element Weak Forms Using Python Tensor Contraction Packages

In finite element calculations, the integral forms are usually evaluated...
research
05/02/2016

High level implementation of geometric multigrid solvers for finite element problems: applications in atmospheric modelling

The implementation of efficient multigrid preconditioners for elliptic p...
research
07/09/2018

Architecture and performance of Devito, a system for automated stencil computation

Stencil computations are a key part of many high-performance computing a...
research
03/27/2019

Yet Another Tensor Toolbox for discontinuous Galerkin methods and other applications

The numerical solution of partial differential equations is at the heart...
research
09/27/2021

The software design of Gridap: a Finite Element package based on the Julia JIT compiler

We present the software design of Gridap, a novel finite element library...
research
05/24/2017

Properties of Normalization for a math based intermediate representation

The Normalization transformation plays a key role in the compilation of ...

Please sign up or login with your details

Forgot password? Click here to reset