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

Research output: Contribution to journalArticlepeer-review

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 (US)
Pages (from-to)102831
JournalParallel Computing
Volume108
DOIs
StatePublished - Sep 10 2021

ASJC Scopus subject areas

  • Artificial Intelligence
  • Hardware and Architecture
  • Theoretical Computer Science
  • Computer Graphics and Computer-Aided Design
  • Software
  • Computer Networks and Communications

Fingerprint

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

Cite this