Differentiating Large-Scale Finite Element Applications with MFEM
In this talk we present our work on efficiently differentiating large-scale
DOE applications. Our approach focuses on finite element simulations,
where exploiting the structure of the simulation allows us to reduce
differentiation from a global to local pointwise problems. The ultimate
goal of our work is to enable fast and easy-to-use computation of finite
element operator derivatives and gradients of functionals, facilitating design
and optimization, large-scale ML, sensitivity analysis, and UQ in general
DOE applications.
We use MFEM as a delivery platform, since its discretization approach
separates and exposes the components of any physics operator in an
AD-friendly decomposition Finite Element Operator Decomposition (FEOD).
By exploiting the FEOD, we can develop algorithms that are faster,
require less memory, and are more robust by avoiding MPI communications
and leveraging Enzyme independently at each quadrature point. The FEOD
originated in the CEED project and is used in other libraries, such as libCEED.
The talk will contain a detailed description of the current and planned
development in MFEM and Enzyme, as well as initial application examples. The attending author will be Julian Andrej.