TSFC: A Structure-Preserving Form Compiler

Miklós Homolya, Lawrence Mitchell, Fabio Luporini, David A. Ham
<span title="">2018</span> <i title="Society for Industrial &amp; Applied Mathematics (SIAM)"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/wbdvoluxebgjhn3wq3qsnldey4" style="color: black;">SIAM Journal on Scientific Computing</a> </i> &nbsp;
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
more &raquo; ... 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.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1137/17m1130642">doi:10.1137/17m1130642</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/b37smdhsirhtbdjtahzxcgagoi">fatcat:b37smdhsirhtbdjtahzxcgagoi</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20190427104658/http://spiral.imperial.ac.uk/bitstream/10044/1/53434/2/1705.03667v1.pdf" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="https://blobs.fatcat.wiki/thumbnail/pdf/4e/66/4e66cfd1f0ab4d8b0383213817e5dc3f8ebdbafa.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1137/17m1130642"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> Publisher / doi.org </button> </a>