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

Bring in upstream gasnet patch for checking if LD requires MPI #20471

Merged
merged 7 commits into from
Aug 24, 2022

Conversation

ronawho
Copy link
Contributor

@ronawho ronawho commented Aug 18, 2022

Bring in https://bitbucket.org/berkeleylab/gasnet/pull-requests/554 and
some related work to enable getting GASNET_LD_REQUIRES_MPI out of
gasnet's pkg-config file. This is a follow up to #20385, which has
additional motivation for the change.

bonachea and others added 7 commits August 18, 2022 13:58
This allows a command like `pkg-config --variable=GASNET_PREFIX <pc-file>`
to retrieve the base prefix of the GASNet installation.

The variable value is empty in a build tree.

Signed-off-by: Elliot Ronaghan <[email protected]>
New echovar(s)-preserve-unset targets work like echovar(s),
but output nothing for variables that are unset, instead of an empty
string.

Signed-off-by: Elliot Ronaghan <[email protected]>
This change ensures that variables which are unset in the *.mak file
that get exported to *.pc are also unset in the resulting *.pc.

Signed-off-by: Elliot Ronaghan <[email protected]>
This propagates the following user-facing variables from the gasnet conduit-mode
*.mak fragments into the corresponding pkg-config *.pc file.

 * GASNET_LD_REQUIRES_MPI
 * GASNET_LD_REQUIRES_CXX
 * GASNET_SPAWNER_DEFAULT
 * GASNET_SPAWNER_PMI
 * GASNET_SPAWNER_MPI
 * GASNET_SPAWNER_SSH

The first was specifically requested by our Chapel stakeholder.

In all cases these exactly mirror the setness and values of the
corresponding *.mak variables.

In particular, `GASNET_LD_REQUIRES_{MPI,CXX}` are either 1 or unset,
just like the corresponding *.mak variables.

Similarly, `GASNET_SPAWNER_*` are unset for conduits where these
variables do not apply, just like the corresponding *.mak variables.
For conduits where they DO apply, GASNET_SPAWNER_{PMI,MPI,SSH} are
set to 1 (for supported) or 0 (for unsupported),

Signed-off-by: Elliot Ronaghan <[email protected]>
Signed-off-by: Elliot Ronaghan <[email protected]>
@ronawho ronawho requested a review from mppf August 18, 2022 18:46
@ronawho ronawho marked this pull request as ready for review August 18, 2022 18:47
@ronawho ronawho merged commit 59543df into chapel-lang:main Aug 24, 2022
@ronawho ronawho deleted the gasnet-ld-requires-mpi-patch branch August 24, 2022 20:20
mppf added a commit that referenced this pull request Aug 31, 2022
Use GASNET_LD_REQUIRES_MPI from .pc file



Completes a Future Work item from #20385 now that #20471 is merged.

- [x] works on a Cray CS with openmpi and CHPL_COMM_SUBSTRATE=mpi

Reviewed by @ronawho - thanks!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants