OpenMP Cluster Programming Model

Rémy Pierre Gwenaël Neveu & Rodrigo Ceccato de Freitas, Graduate students at UNICAMP & MCS interns at Argonne National Laboratory
Webinar
CS Seminar Graphic

his talk presents OpenMP Cluster (OMPC), an OpenMP extension that allows target offloading to a cluster. OMPC is implemented as a libomptarget plugin, managing data movement and kernel execution across multiple worker nodes using MPI. It remains compliant with the OpenMP model, providing a user-friendly approach to cluster programming. This talk covers OMPC’s internal mechanism, including task scheduling and data management. We discuss how it captures task dependencies to schedule offloaded tasks using the HEFT algorithm, a heuristic for earliest finish time with heterogeneous resources. Additionally, OMPC uses this information to enable profiling, fault tolerance mechanisms and support for collective operations. The talk highlights the technical aspects of the implementation, describing the advantages of the libomptarget device agnostic abstraction and explicit task dependency management for a compartmentalized implementation across multiple nodes.

This CS Seminar Series has TWO features presented by our guests:

·         Seminar 1: OpenMP Cluster programming and execution model

·         Seminar 2: OpenMP Cluster Scheduling and data coherence mechanisms

Bios:

·         Rémy Pierre Gwenaël Neveu is a graduate student at UNICAMP, Brazil. He has a master’s degree of fundamental computer science, as well as a bachelor’s in mathematics and computer science from the University Claude Bernard Lyon 1. He has been working with the OMPCluster project for the past two years. Rémy is currently completing an internship at Argonne National Laboratory.

·         Rodrigo Ceccato de Freitas is a graduate student at UNICAMP, Brazil. He has a master’s in computer science and a bachelor’s in computer engineering. He has been working with the OpenMP Cluster project and his main interests are collective operations integrated to task-based programming models. He is currently doing an internship at Argonne National Laboratory.

 

See upcoming and previous presentations at CS Seminar Series.