25 Feb 2024 | JULIAN ANDREJ, NABIL ATALLAH, JAN-PHILLIP BÄCKER, JOHN CAMIER, DYLAN COPELAND, VESELIN DOBREV, YOHA NN DUDOUTT, TOBIAS DUSWALD, BRENDAN KEITH, DOHYUN KIM, TZANIO KOLEV, BOYAN LAZAROV, KETAN MITTAL, WILL PAZNER, SOCRATIS PETRIDES, SYUN'ICHI SHIRAIWA, MARK STOWE R, VLADIMIR TOMOV
The MFEM (Modular Finite Element Methods) library is a high-performance C++ library for finite element discretizations, supporting numerous types of finite element methods and used in many computational physics and engineering applications. This paper summarizes recent developments in MFEM, focusing on performance portability across leadership-class supercomputers, including exascale systems, and new capabilities. The work was part of the Department of Energy's Exascale Computing Project (ECP) in collaboration with the Center for Efficient Exascale Discretizations (CEED).
MFEM supports GPU acceleration, with significant improvements in GPU-accelerated high-order mesh optimization and solvers for all spaces in the finite element de Rham complex. These solvers have been extended to saddle-point problems, including grad-div problems in H(div) and mixed finite element problems. Novel kernel fusion techniques improve the strong scalability of high-order finite element solvers, achieving peak performance on problems 5–10× smaller than traditional approaches. GPU-accelerated partial assembly kernels now support a broad range of operators and discretizations, including NURBS-based methods.
MFEM's feature set has been significantly broadened, supporting specialized discretizations like the discontinuous Petrov–Galerkin (DPG) method and automatic differentiation for high-performance automated assembly of Jacobian matrices. Multiphysics applications are supported through submesh capabilities, allowing different physics in different parts of the domain. Discretization techniques for stochastic and fractional PDEs are enabled, with examples in MFEM's included miniapps. MFEM now also supports level-set based methods, including distance solvers, shifted boundary methods, and cut integration rules.
MFEM supports a wide range of finite element methods and discretizations, including DPG methods, proximal Galerkin methods, immersed discretizations, NURBS/IGA, and automatic differentiation. The library includes advanced meshing support, including high-order mesh optimization algorithms and submesh capabilities for multi-domain problems. The high-order mesh optimization framework in MFEM is based on the Target-Matrix Optimization Paradigm (TMOP), enabling precise control over local mesh quality while optimizing globally. The TMOP framework has been advanced to include penalization terms for weakly enforcing alignment of mesh nodes with implicit surfaces.
MFEM also supports mixed meshes, nonconforming meshes, and p-adaptivity, with new capabilities for matrix-free discontinuous Galerkin methods on non-conforming meshes. The integration of the libCEED library in MFEM adds unique features, including support for mixed meshes with different geometric types and p-adaptivity. MFEM's performance on exascale platforms and AMD GPUs has been demonstrated, with good performance portability between NVIDIA and AMD architectures.
MFEM's applications span areas such as compressible and incompressible flow, electromagnetics, magnetic and inertial confinement fusion, additive manufacturing, topology optimization, structural mechanics, subsurface flow, hearth and MRI modeling,The MFEM (Modular Finite Element Methods) library is a high-performance C++ library for finite element discretizations, supporting numerous types of finite element methods and used in many computational physics and engineering applications. This paper summarizes recent developments in MFEM, focusing on performance portability across leadership-class supercomputers, including exascale systems, and new capabilities. The work was part of the Department of Energy's Exascale Computing Project (ECP) in collaboration with the Center for Efficient Exascale Discretizations (CEED).
MFEM supports GPU acceleration, with significant improvements in GPU-accelerated high-order mesh optimization and solvers for all spaces in the finite element de Rham complex. These solvers have been extended to saddle-point problems, including grad-div problems in H(div) and mixed finite element problems. Novel kernel fusion techniques improve the strong scalability of high-order finite element solvers, achieving peak performance on problems 5–10× smaller than traditional approaches. GPU-accelerated partial assembly kernels now support a broad range of operators and discretizations, including NURBS-based methods.
MFEM's feature set has been significantly broadened, supporting specialized discretizations like the discontinuous Petrov–Galerkin (DPG) method and automatic differentiation for high-performance automated assembly of Jacobian matrices. Multiphysics applications are supported through submesh capabilities, allowing different physics in different parts of the domain. Discretization techniques for stochastic and fractional PDEs are enabled, with examples in MFEM's included miniapps. MFEM now also supports level-set based methods, including distance solvers, shifted boundary methods, and cut integration rules.
MFEM supports a wide range of finite element methods and discretizations, including DPG methods, proximal Galerkin methods, immersed discretizations, NURBS/IGA, and automatic differentiation. The library includes advanced meshing support, including high-order mesh optimization algorithms and submesh capabilities for multi-domain problems. The high-order mesh optimization framework in MFEM is based on the Target-Matrix Optimization Paradigm (TMOP), enabling precise control over local mesh quality while optimizing globally. The TMOP framework has been advanced to include penalization terms for weakly enforcing alignment of mesh nodes with implicit surfaces.
MFEM also supports mixed meshes, nonconforming meshes, and p-adaptivity, with new capabilities for matrix-free discontinuous Galerkin methods on non-conforming meshes. The integration of the libCEED library in MFEM adds unique features, including support for mixed meshes with different geometric types and p-adaptivity. MFEM's performance on exascale platforms and AMD GPUs has been demonstrated, with good performance portability between NVIDIA and AMD architectures.
MFEM's applications span areas such as compressible and incompressible flow, electromagnetics, magnetic and inertial confinement fusion, additive manufacturing, topology optimization, structural mechanics, subsurface flow, hearth and MRI modeling,