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

pmi: avoid name clash of pmix.h with external pmix lib #7246

Merged
merged 5 commits into from
Jan 3, 2025

Conversation

sonjahapp
Copy link
Contributor

@sonjahapp sonjahapp commented Dec 20, 2024

Pull Request Description

Fixes #7243

This is the solution that we use for ParaStation MPI to circumvent the problem for now.
Better ideas are welcome. :)

Happy holidays!

Author Checklist

  • Provide Description
    Particularly focus on why, not what. Reference background, issues, test failures, xfail entries, etc.
  • Commits Follow Good Practice
    Commits are self-contained and do not do two things at once.
    Commit message is of the form: module: short description
    Commit message explains what's in the commit.
  • Passes All Tests
    Whitespace checker. Warnings test. Additional tests via comments.
  • Contribution Agreement
    For non-Argonne authors, check contribution agreement.
    If necessary, request an explicit comment from your companies PR approval manager.

@sonjahapp sonjahapp force-pushed the pr-issue-7243-pmix-header branch from 183d6f4 to 3df3246 Compare December 20, 2024 12:20
Copy link
Contributor

@hzhou hzhou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'll merge once the tests clear.

@hzhou
Copy link
Contributor

hzhou commented Dec 20, 2024

test:mpich/pmi

There issues running pmix with hydra. I'll look into it later.

@hzhou hzhou force-pushed the pr-issue-7243-pmix-header branch from 2440616 to 8be30aa Compare January 2, 2025 22:51
@hzhou
Copy link
Contributor

hzhou commented Jan 2, 2025

test:mpich/pmi ✔️

@hzhou
Copy link
Contributor

hzhou commented Jan 3, 2025

@sonjahapp I added two commits. One fixing the testing harness. And the other slightly alters the way to include pmix/pmix.h. Let me know if you are okay with it.

@hzhou hzhou requested a review from raffenet January 3, 2025 16:26
sonjahapp and others added 5 commits January 3, 2025 13:44
This prevents a name clash between MPICH's pmix.h and the header of
an external PMIx library.
When running hydra using pmix, somehow we changed the default stdout
flush mode and it is not flushing after the newline. This causes the
multi-tests mode hang. Adding explicit flushing fixes it.
We put embedded pmix.h to the pmix subdir to avoid clashing with system
pmix.h. Adding it to CPPFLAGS makes it depending on the rather obscure
inclusion order. Rather, include pmix/pmix.h explicitly in the code when
we know we are building embedded pmix.

This is consistent with how we do it in src/pmi/src/pmix.c.
@hzhou hzhou force-pushed the pr-issue-7243-pmix-header branch from 8be30aa to 612cebb Compare January 3, 2025 19:44
@hzhou hzhou merged commit 5483482 into pmodels:main Jan 3, 2025
4 checks passed
@sonjahapp
Copy link
Contributor Author

@sonjahapp I added two commits. One fixing the testing harness. And the other slightly alters the way to include pmix/pmix.h. Let me know if you are okay with it.

Happy new year and thanks for merging!

I had to cherry-pick this change to make the include solution for pmix.h work for MPICH 4.2 sources. The define of PMI_FROM_3RD_PARTY was added after MPICH 4.2 release.

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.

Use correct pmix.h when configuring with external PMIx lib
3 participants