chapel-lang / chapel

a Productive Parallel Programming Language
https://chapel-lang.org
Other
1.75k stars 410 forks source link

Enable shared-memory bypass comms for co-locales on InfiniBand #24944

Open bonachea opened 2 weeks ago

bonachea commented 2 weeks ago

Overview

This PR enables GASNet-level shared-memory bypass communication for all GASNet conduits (in fast/large segment modes), which should notably greatly accelerate co-locale communication for CHPL_COMM=gasnet CHPL_COMM_SUBSTRATE=ibv.

This fixes the defect acknowledged in the original PR #13473 regarding use of PSHM with CHPL_COMM_SUBSTRATE=ibv.

TODO:

  1. This PR has not yet been tested for correctness or performance, and thus should be considered a proof-of-concept.
  2. The PR currently only modifies the GASNet-EX backend (i.e. CHPL_GASNET_VERSION=ex). Assuming it proves valuable there, then an analogous change probably must be back-ported to the legacy GASNet-1 backend, to avoid breaking it in the presence of co-locales.

CC: @PHHargrove , @ronawho , @jhh67