ompi
ompi copied to clipboard
framework: add the MCA_BASE_FRAMEWORK_FLAG_NOCOMPONENT flag
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/ompi#12282
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.
Thanks Ralph, I just issued #12309