The OpenMP Cluster Programming Model
Herv\'e Yviquel, Marcio Pereira, Em\'ilio Francesquini, Guilherme, Valarini, Gustavo Leite, Pedro Rosso, Rodrigo Ceccato, Carla Cusihualpa,, Vitoria Dias, Sandro Rigo, Alan Souza, Guido Araujo

TL;DR
This paper introduces OpenMP Cluster (OMPC), a task-parallel programming model for HPC clusters that simplifies development by extending OpenMP to support distributed systems, achieving significant performance improvements over existing runtimes.
Contribution
OMPC extends OpenMP for cluster programming by integrating task parallelism and hiding MPI complexities, enabling seamless intra- and inter-node parallelism in a unified model.
Findings
OMPC outperforms Charm++ by up to 2.43x in scalability.
OMPC demonstrates weak scaling on synthetic and real-world applications.
OMPC simplifies cluster programming by unifying intra- and inter-node parallelism.
Abstract
Despite the various research initiatives and proposed programming models, efficient solutions for parallel programming in HPC clusters still rely on a complex combination of different programming models (e.g., OpenMP and MPI), languages (e.g., C++ and CUDA), and specialized runtimes (e.g., Charm++ and Legion). On the other hand, task parallelism has shown to be an efficient and seamless programming model for clusters. This paper introduces OpenMP Cluster (OMPC), a task-parallel model that extends OpenMP for cluster programming. OMPC leverages OpenMP's offloading standard to distribute annotated regions of code across the nodes of a distributed system. To achieve that it hides MPI-based data distribution and load-balancing mechanisms behind OpenMP task dependencies. Given its compliance with OpenMP, OMPC allows applications to use the same programming model to exploit intra- and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
