Integrating PGAS and MPI-based Graph Analysis
- Mississippi State Univ., Mississippi State, MS (United States)
- Sandia National Laboratories (SNL), Albuquerque, NM, and Livermore, CA (United States)
This project demonstrates that Chapel programs can interface with MPI-based libraries written in C++ without storing multiple copies of shared data. Chapel is a language for productive parallel computing using global address spaces (PGAS). We identified two approaches to interface Chapel code with the MPI-based Grafiki and Trilinos libraries. The first uses a single Chapel executable to call a C function that interacts with the C++ libraries. The second uses the mmap function to allow separate executables to read and write to the same block of memory on a node. We also encapsulated the second approach in Docker/Singularity containers to maximize ease of use. Comparisons of the two approaches using shared and distributed memory installations of Chapel show that both approaches provide similar scalability and performance.
- Research Organization:
- Sandia National Lab. (SNL-NM), Albuquerque, NM (United States)
- Sponsoring Organization:
- USDOE National Nuclear Security Administration (NNSA)
- DOE Contract Number:
- NA0003525
- OSTI ID:
- 1832085
- Report Number(s):
- SAND2021-13346R; 701640
- Country of Publication:
- United States
- Language:
- English
Similar Records
Evaluating the Potential of Cray Gemini Interconnect for PGAS Communication Runtime Systems
A Global View Programming Abstraction for Transitioning MPI Codes to PGAS Languages