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.
翻译:科学计算(PETSc)图书馆的便携式扩展工具包为非线性时间依赖差异和代数方程式以及数字优化提供了可缩放的解决方案。 PETSc性性能设计解决了基本的GPU加速器挑战,并强调了灵活性和可扩展性,将应用程序中使用的编程模式与图书馆使用的模式区分开来,使应用开发者能够使用其首选的编程模式,如Kokkos、RAJA、SYCL、HIP、CUDA或OpenCL,用于即将推出的缩放系统。提供了使用基于PETSc代码的GPU的蓝图,案例研究强调了目前基于GPU的系统的灵活性和高绩效。