Litcius/Paper detail

The PetscSF Scalable Communication Layer

Junchao Zhang, Jed Brown, Satish Balay, Jacob Faibussowitsch, Matthew G. Knepley, Oana Marin, Richard Mills, Todd Munson, Barry Smith, Stefano Zampini

2021IEEE Transactions on Parallel and Distributed Systems42 citationsDOIOpen Access PDF

Abstract

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 article, 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.

Topics & Concepts

Computer scienceScalabilityImplementationDistributed computingMessage passingMessage Passing InterfaceInterface (matter)Computer architectureRemote direct memory accessProgramming paradigmNode (physics)Parallel computingSupercomputerComputer networkOperating systemStructural engineeringProgramming languageEngineeringMaximum bubble pressure methodBubbleDistributed and Parallel Computing SystemsParallel Computing and Optimization TechniquesScientific Computing and Data Management
The PetscSF Scalable Communication Layer | Litcius