COFFEE: an Optimizing Compiler for Finite Element Local Assembly
Fabio Luporini, Ana Lucia Varbanescu, Florian Rathgeber,, Gheorghe-Teodor Bercea, J. Ramanujam, David A. Ham, Paul H.J. Kelly

TL;DR
COFFEE is a domain-specific compiler designed to optimize local assembly kernels in finite element methods, significantly enhancing performance through vectorization and register optimization.
Contribution
It introduces a systematic, domain-aware compilation approach for finite element local assembly kernels, improving execution efficiency over traditional methods.
Findings
Achieves significant performance improvements in finite element local assembly.
Effectively enhances SIMD vectorization and register locality.
Demonstrates benefits across various finite-element forms.
Abstract
The numerical solution of partial differential equations using the finite element method is one of the key applications of high performance computing. Local assembly is its characteristic operation. This entails the execution of a problem-specific kernel to numerically evaluate an integral for each element in the discretized problem domain. Since the domain size can be huge, executing efficient kernels is fundamental. Their op- timization is, however, a challenging issue. Even though affine loop nests are generally present, the short trip counts and the complexity of mathematical expressions make it hard to determine a single or unique sequence of successful transformations. Therefore, we present the design and systematic evaluation of COF- FEE, a domain-specific compiler for local assembly kernels. COFFEE manipulates abstract syntax trees generated from a high-level domain-specific…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
