Toward Performance-Portable PETSc for GPU-based Exascale Systems
Richard Tran Mills, Mark F. Adams, Satish Balay, Jed Brown, Alp Dener,, Matthew Knepley, Scott E. Kruger, Hannah Morgan, Todd Munson, Karl Rupp,, Barry F. Smith, Stefano Zampini, Hong Zhang, Junchao Zhang

TL;DR
This paper presents a design for PETSc that achieves performance portability across various GPU programming models, enabling scalable scientific computations on exascale systems.
Contribution
It introduces a flexible, extensible PETSc architecture that supports multiple GPU programming models, facilitating performance portability and ease of use for application developers.
Findings
High performance achieved on current GPU systems
Supports multiple programming models like CUDA, HIP, SYCL, Kokkos, RAJA, OpenCL
Demonstrates flexibility and scalability in case studies
Abstract
The Portable Extensible Toolkit for Scientific computation (PETSc) library delivers scalable solvers for nonlinear time-dependent differential and algebraic equations and for numerical optimization.The PETSc design for performance portability addresses fundamental GPU accelerator challenges and stresses flexibility and extensibility by separating the programming model used by the application from that used by the library, and it enables application developers to use their preferred programming model, such as Kokkos, RAJA, SYCL, HIP, CUDA, or OpenCL, on upcoming exascale systems. A blueprint for using GPUs from PETSc-based codes is provided, and case studies emphasize the flexibility and high performance achieved on current GPU-based systems.
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.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
