Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add libfabric injection examples #1443

Closed
j-ogas opened this issue Sep 6, 2022 · 0 comments · Fixed by #1449
Closed

add libfabric injection examples #1443

j-ogas opened this issue Sep 6, 2022 · 0 comments · Fixed by #1449

Comments

@j-ogas
Copy link
Contributor

j-ogas commented Sep 6, 2022

Add Libfabric provider DSO injection support to Charliecloud.

Related to: #1429

Libfabric acts as middleware between MPI libraries and the network hardware. Fabric diversity is achieved through providers, e.g., tcp, gni, psm3, verbs, shm, etc. These providers can be compiled as built-in or loadable dynamic shared objects (*-fi.so). Loadable providers can be used by a libfabric that did not originally compile them; thus, we can add loadable provider(s), built on a separate host, to a container where they will be loaded and used by the container libfabric.

By updating our MPI examples to use Libfabric, we:

  1. have a new, simpler, way to leverage Cray Gemini/Aries interconnect. We can build the gni provider on the cray system and add them to MPI containers at run-time to use the network fabric.
  2. can make use of Cray's Slingshot interconnect by replacing our container libfabric with the hosts.
  3. can update our MPI examples to use a Libfabric that compiled built-in providers for our fabrics of interest.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants