Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Mixed and hybrid finite element methods
Mixed and hybrid finite element methods
Algorithm 839: FIAT, a new paradigm for computing finite element basis functions
ACM Transactions on Mathematical Software (TOMS)
Optimizing the Evaluation of Finite Element Matrices
SIAM Journal on Scientific Computing
Topological Optimization of the Evaluation of Finite Element Matrices
SIAM Journal on Scientific Computing
A compiler for variational forms
ACM Transactions on Mathematical Software (TOMS)
Efficient compilation of a class of variational forms
ACM Transactions on Mathematical Software (TOMS)
Benchmarking Domain-Specific Compiler Optimizations for Variational Forms
ACM Transactions on Mathematical Software (TOMS)
On the efficiency of symbolic computations combined with code generation for finite element methods
ACM Transactions on Mathematical Software (TOMS)
Unified framework for finite element assembly
International Journal of Computational Science and Engineering
Automated Code Generation for Discontinuous Galerkin Methods
SIAM Journal on Scientific Computing
DOLFIN: Automated finite element computing
ACM Transactions on Mathematical Software (TOMS)
Efficient Assembly of $H(\mathrm{div})$ and $H(\mathrm{curl})$ Conforming Finite Elements
SIAM Journal on Scientific Computing
DOLFIN: Automated finite element computing
ACM Transactions on Mathematical Software (TOMS)
Efficient Assembly of $H(\mathrm{div})$ and $H(\mathrm{curl})$ Conforming Finite Elements
SIAM Journal on Scientific Computing
Unified Embedded Parallel Finite Element Computations via Software-Based Fréchet Differentiation
SIAM Journal on Scientific Computing
Analysis of an Interface Stabilized Finite Element Method: The Advection-Diffusion-Reaction Equation
SIAM Journal on Numerical Analysis
SIAM Journal on Scientific Computing
Benchmarking FEniCS for mantle convection simulations
Computers & Geosciences
Optimized code generation for finite element local assembly using symbolic manipulation
ACM Transactions on Mathematical Software (TOMS)
ACM Transactions on Mathematical Software (TOMS)
Hi-index | 0.01 |
We examine aspects of the computation of finite element matrices and vectors that are made possible by automated code generation. Given a variational form in a syntax that 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 optimization 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 optimizations elaborated here are effective for a range of variational forms.