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

framework: add the MCA_BASE_FRAMEWORK_FLAG_NOCOMPONENT flag #12303

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

ggouaillardet
Copy link
Contributor

When a framework has the MCA_BASE_FRAMEWORK_FLAG_NOCOMPONENT flag, it will not try to register any components. That can prevent issues at finalization when a component is registered but not properly unregistered.

Thanks Kook Jin Noh for the bug report.

Refs. #12282

When a framework has the MCA_BASE_FRAMEWORK_FLAG_NOCOMPONENT flag,
it will not try to register any components. That can prevent issues
at finalization when a component is registered but not properly
unregistered.

Thanks Kook Jin Noh for the bug report.

Refs. open-mpi#12282

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
@rhc54
Copy link
Contributor

rhc54 commented Feb 2, 2024

Thought about this some more, and I believe for PMIx that this may be an incorrect approach - or at least, perhaps not the optimal one. What is driving the problem is that OMPI v5 removed PMIx as a framework, but failed to remove the stale framework declarations. All that is required to solve the problem is to move the remaining plumbing from ompi/mca/pmix to some non-MCA location like pmix-internal or perhaps 3rd-party/pmix-internal/base.

You don't even have to change the function or macro names - though you would have to update the "mca/pmix/base" header references. Still, that's not an overly burdensome task. It's what I did in PRRTE, and in PMIx when moving hwloc out of the MCA area.

You might then consider (as a separate step) improving your integration by removing some of those outdated and sub-optimal uses of PMIx in the current framework base functions. They are largely stale and were required when PMIx was support was in components and you had to deal with unknown implementations. Cleaner methods are now standard in PMIx levels you support.

@ggouaillardet
Copy link
Contributor Author

Thanks Ralph, I just issued #12309

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants