
arXiv: 2406.08646
The Portable Extensible Toolkit for Scientific Computation (PETSc) library provides scalable solvers for nonlinear time-dependent differential and algebraic equations and for numerical optimization via the Toolkit for Advanced Optimization (TAO). PETSc is used in dozens of scientific fields and is an important building block for many simulation codes. During the U.S. Department of Energy’s Exascale Computing Project, the PETSc team has made substantial efforts to enable efficient utilization of the massive fine-grain parallelism present within exascale compute nodes and to enable performance portability across exascale architectures. We recap some of the challenges that designers of numerical libraries face in such an endeavor, and then discuss the many developments we have made, which include the addition of new GPU backends, features supporting efficient on-device matrix assembly, better support for asynchronicity and GPU kernel concurrency, and new communication infrastructure. We evaluate the performance of these developments on some pre-exascale systems as well as the early exascale systems Frontier and Aurora, using compute kernel, communication layer, solver, and mini-application benchmark studies, and then close with a few observations drawn from our experiences on the tension between portable performance and other goals of numerical libraries.
46 Information and Computing Sciences (for-2020), FOS: Computer and information sciences, Distributed Computing (science-metrix), 00A69, 4601 Applied Computing (for-2020), Computer Science - Distributed, Parallel, and Cluster Computing, 4601 Applied computing (for-2020), 4606 Distributed computing and systems software (for-2020), Computer Science - Mathematical Software, Distributed, Parallel, and Cluster Computing (cs.DC), 7 Affordable and Clean Energy (sdg), 0805 Distributed Computing (for), Mathematical Software (cs.MS)
46 Information and Computing Sciences (for-2020), FOS: Computer and information sciences, Distributed Computing (science-metrix), 00A69, 4601 Applied Computing (for-2020), Computer Science - Distributed, Parallel, and Cluster Computing, 4601 Applied computing (for-2020), 4606 Distributed computing and systems software (for-2020), Computer Science - Mathematical Software, Distributed, Parallel, and Cluster Computing (cs.DC), 7 Affordable and Clean Energy (sdg), 0805 Distributed Computing (for), Mathematical Software (cs.MS)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 2 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Top 10% | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
