Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Integrating PGAS and MPI-based Graph Analysis

Technical Report ·
DOI:https://doi.org/10.2172/1832085· OSTI ID:1832085
 [1];  [2];  [2]
  1. Mississippi State Univ., Mississippi State, MS (United States)
  2. 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