TSFC: A Structure-Preserving Form Compiler
From MaRDI portal
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.
Recommendations
- Structure-preserving compilers from new notions of obfuscations
- Publication:3028335
- Formal compiler construction in a logical framework
- scientific article; zbMATH DE number 637403
- scientific article; zbMATH DE number 4092748
- A denotational semantics for SPARC TSO
- A denotational semantics for SPARC TSO
- A compiler for nondeterministic term rewriting systems
- scientific article; zbMATH DE number 1862466
Cites work
- Algorithm 839
- An algorithm for the optimization of finite element integration loops
- Automated code generation for discontinuous Galerkin methods
- Automated solution of differential equations by the finite element method. The FEniCS book
- Computational Science – ICCS 2005
- Design of a high-performance GEMM-like tensor-tensor multiplication
- Efficient compilation of a class of variational forms
- Factor graphs and the sum-product algorithm
- Firedrake, automating the finite element method by composing abstractions
- scientific article; zbMATH DE number 2080886 (Why is no real title available?)
- scientific article; zbMATH DE number 3303654 (Why is no real title available?)
- Introduction to algorithms
- Memory-optimal evaluation of expression trees involving large objects
- New development in freefem++
- On the efficiency of symbolic computations combined with code generation for finite element methods
- Optimizations for quadrature representations of finite element tensors through automated code generation
- The Generation of Optimal Code for Arithmetic Expressions
- Topological sorting of large networks
- Unified embedded parallel finite element computations via software-based Fréchet differentiation
- Unified form language: a domain-specific language for weak formulations of partial differential equations
Cited in
(24)- \textsc{tIGAr}: automating isogeometric analysis with \textsc{FEniCS}
- Residual-based shock capturing in solids
- The scaling and skewness of optimally transported meshes on the sphere
- Higher-order compatible finite element schemes for the nonlinear rotating shallow water equations on the sphere
- A quasi-Hamiltonian discretization of the thermal shallow water equations
- Variational multiscale modeling with discretely divergence-free subscales
- Open-source immersogeometric analysis of fluid-structure interaction using FEniCS and tIGAr
- Composable block solvers for the four-field double porosity/permeability model
- Energy conserving upwinded compatible finite element schemes for the rotating shallow water equations
- Mixed finite elements for convection-coupled phase-change in enthalpy form: open software verified and applied to 2D benchmarks
- Maximum-principle-satisfying discontinuous Galerkin methods for incompressible two-phase immiscible flow
- TSFC
- Optimal-transport -- based mesh adaptivity on the plane and sphere using finite elements
- A general approach to transforming finite elements
- A Scalable and Robust Vertex-Star Relaxation for High-Order FEM
- Bringing Trimmed Serendipity Methods to Computational Practice in Firedrake
- An Augmented Lagrangian Preconditioner for the 3D Stationary Incompressible Navier--Stokes Equations at High Reynolds Number
- Shape optimisation for faster washout in recirculating flows
- On Memory Traffic and Optimisations for Low-order Finite Element Assembly Algorithms on Multi-core CPUs
- Transformations for Piola-mapped elements
- Robust Multigrid Techniques for Augmented Lagrangian Preconditioning of Incompressible Stokes Equations with Extreme Viscosity Variations
- Bound-preserving discontinuous Galerkin methods for compressible two-phase flows in porous media
- Code generation and performance engineering for matrix-free finite element methods on hybrid tetrahedral grids
- FIAT: enabling classical and modern macroelements
Describes a project that uses
Uses Software
This page was built for publication: TSFC: A Structure-Preserving Form Compiler
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q4569311)