Large-scale Optimization-based Non-negative Computational Framework for Diffusion Equations: Parallel Implementation and Performance Studies
J. Chang, S. Karra, K. B. Nakshatrala

TL;DR
This paper presents a high-performance, parallel optimization-based computational framework for solving large-scale diffusion equations that ensures non-negativity and maximum principles, demonstrating excellent scalability on HPC systems.
Contribution
It introduces a scalable, parallel implementation of a non-negative optimization methodology for diffusion equations, validated on large-scale problems using PETSc and TAO libraries.
Findings
Exhibits excellent strong scaling on large-scale problems.
Demonstrates the effectiveness of the framework on real-world HPC systems.
Provides insights into the computational performance of optimization-based diffusion solvers.
Abstract
It is well-known that the standard Galerkin formulation, which is often the formulation of choice under the finite element method for solving self-adjoint diffusion equations, does not meet maximum principles and the non-negative constraint for anisotropic diffusion equations. Recently, optimization-based methodologies that satisfy maximum principles and the non-negative constraint for steady-state and transient diffusion-type equations have been proposed. To date, these methodologies have been tested only on small-scale academic problems. The purpose of this paper is to systematically study the performance of the non-negative methodology in the context of high performance computing (HPC). PETSc and TAO libraries are, respectively, used for the parallel environment and optimization solvers. For large-scale problems, it is important for computational scientists to understand the…
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.
