TY - JOUR
T1 - Toward performance-portable PETSc for GPU-based exascale systems
AU - Mills, Richard Tran
AU - Adams, Mark F.
AU - Balay, Satish
AU - Brown, Jed
AU - Dener, Alp
AU - Knepley, Matthew
AU - Kruger, Scott E.
AU - Morgan, Hannah
AU - Munson, Todd
AU - Rupp, Karl
AU - Smith, Barry F.
AU - Zampini, Stefano
AU - Zhang, Hong
AU - Zhang, Junchao
N1 - KAUST Repository Item: Exported on 2021-10-11
Acknowledgements: This work was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of two US Department of Energy organizations (Office of Science and the National Nuclear Security Administration), responsible for the planning and preparation of a capable exascale ecosystem, including software, applications, hardware, advanced system engineering, and early testbed platforms, in support of the nation's exascale computing imperative, and by the Austrian Science Fund (FWF) under grant P29119-N30. This research used resources of the Argonne and Oak Ridge Leadership Computing Facilities, DOE Office of Science User Facilities supported under Contracts DE-AC02-06CH11357 and DE-AC05-00OR22725, respectively.
PY - 2021/9/10
Y1 - 2021/9/10
N2 - 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.
AB - 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.
UR - http://hdl.handle.net/10754/672463
UR - https://linkinghub.elsevier.com/retrieve/pii/S016781912100079X
UR - http://www.scopus.com/inward/record.url?scp=85116063217&partnerID=8YFLogxK
U2 - 10.1016/j.parco.2021.102831
DO - 10.1016/j.parco.2021.102831
M3 - Article
SN - 0167-8191
VL - 108
SP - 102831
JO - Parallel Computing
JF - Parallel Computing
ER -