Skip to main navigation Skip to search Skip to main content

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
  • Argonne National Laboratory
  • Lawrence Berkeley National Laboratory
  • University of Colorado Boulder
  • Tech-X Corporation
  • The University of Chicago
  • TU Wien
  • Simons Foundation
  • King Abdullah University of Science and Technology

Research output: Contribution to journalArticlepeer-review

44 Scopus citations

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.

Original languageEnglish
Article number102831
JournalParallel Computing
Volume108
DOIs
StatePublished - Dec 2021

Keywords

  • Exascale
  • GPU acceleration
  • High-performance computing
  • Many-core
  • Numerical software
  • Performance portability

Fingerprint

Dive into the research topics of 'Toward performance-portable PETSc for GPU-based exascale systems'. Together they form a unique fingerprint.

Cite this