Optimisations for quadrature representations of finite element tensors through automated code generation
arXiv:1104.0199 · doi:10.1145/1644001.1644009
Abstract
We examine aspects of the computation of finite element matrices and vectors which are made possible by automated code generation. Given a variational form in a syntax which resembles standard mathematical notation, the low-level computer code for building finite element tensors, typically matrices, vectors and scalars, can be generated automatically via a form compiler. In particular, the generation of code for computing finite element matrices using a quadrature approach is addressed. For quadrature representations, a number of optimisation strategies which are made possible by automated code generation are presented. The relative performance of two different automatically generated representations of finite element matrices is examined, with a particular emphasis on complicated variational forms. It is shown that approaches which perform best for simple forms are not tractable for more complicated problems in terms of run time performance, the time required to generate the code or the size of the generated code. The approach and optimisations elaborated here are effective for a range of variational forms.
References in corpus (9)
- DOLFIN: Automated Finite Element Computing
- A compiler for variational forms
- Efficient Assembly of H(div) and H(curl) Conforming Finite Elements
- Automated code generation for discontinuous Galerkin methods
- Optimizing the Evaluation of Finite Element Matrices
- Unified Framework for Finite Element Assembly
- Efficient Compilation of a Class of Variational Forms
- Topological Optimization of the Evaluation of Finite Element Matrices
- Benchmarking Domain-Specific Compiler Optimizations for Variational Forms
Cited by in corpus (24)
- DOLFIN: Automated Finite Element Computing
- Firedrake: automating the finite element method by composing abstractions
- Automated derivation of the adjoint of high-level transient finite element programs
- Efficient Assembly of H(div) and H(curl) Conforming Finite Elements
- SiQAD: A Design and Simulation Tool for Atomic Silicon Quantum Dot Circuits
- Analysis of an interface stabilised finite element method: The advection-diffusion-reaction equation
- TSFC: a structure-preserving form compiler
- Automated generation and symbolic manipulation of tensor product finite elements
- A Traveling-Wave Solution for Bacterial Chemotaxis with Growth
- Energy stable and momentum conserving hybrid finite element method for the incompressible Navier-Stokes equations
- A FEniCS-Based Programming Framework for Modeling Turbulent Flow by the Reynolds-Averaged Navier-Stokes Equations
- COFFEE: an Optimizing Compiler for Finite Element Local Assembly
- Thermodynamically-consistent derivation and computation of twinning and fracture in brittle materials by means of phase-field approaches in the finite element method
- An algorithm for the optimization of finite element integration loops
- Modeling fast acoustic streaming: steady state and transient flow solutions
- Q-tensor model for electrokinetics in nematic liquid crystals
- Analysis of block-preconditioners for models of coupled magma/mantle dynamics
- Phase field model for coupled displacive and diffusive microstructural processes under thermal loading
- A 55-line code for large-scale parallel topology optimization in 2D and 3D
- Non-intrusive Hybrid Scheme for Multiscale Heat Transfer: Thermal Runaway in a Battery Pack
- Double-grid quadrature with interpolation-projection (DoGIP) as a novel discretisation approach: An application to FEM on simplexes
- Towards Automatic and Reliable Localized Model Order Reduction
- A framework for the automation of generalised stability theory
- A Domain-Specific Language and Editor for Parallel Particle Methods