PetscSF, the communication component of the Portable, Extensible Toolkit for Scientific Computation (PETSc), is designed to provide PETSc's communication infrastructure suitable for exascale computers that utilize GPUs and other accelerators. PetscSF provides a simple application programming interface (API) for managing common communication patterns in scientific computations by using a star-forest graph representation. PetscSF supports several implementations based on MPI and NVSHMEM, whose selection is based on the characteristics of the application or the target architecture. An efficient and portable model for network and intra-node communication is essential for implementing large-scale applications. The Message Passing Interface, which has been the de facto standard for distributed memory systems, has developed into a large complex API that does not yet provide high performance on the emerging heterogeneous CPU-GPU-based exascale systems. In this paper, we discuss the design of PetscSF, how it can overcome some difficulties of working directly with MPI on GPUs, and we demonstrate its performance, scalability, and novel features.
翻译:PetscSF是Portable-Expensible Approducation(PETSc)的科学计算工具(PETSc)的通信部分,旨在为PETSc的通信基础设施提供适合使用GPUs和其他加速器的高级计算机的通信基础设施;PetscSF提供简单的应用程序编程界面(API),通过使用恒星-森林图示来管理科学计算中的共同通信模式;PetscSFF支持基于MPI和NVSHMEM的若干执行,其选择基于应用或目标结构的特性;网络和节内通信的高效和便携式模型对于大规模应用至关重要;电文传递界面,作为分布式记忆系统的实际标准,已经发展成一个大型的复杂API,尚未在新兴的基于CPU-GPU的杂质缩微系统上提供高性能;在这份文件中,我们讨论了PESSF的设计,如何克服直接与MPI在GPUs上工作的一些困难,我们展示其性能性和新特点。