-
Notifications
You must be signed in to change notification settings - Fork 929
configury: fix --disable-mpi-io for static builds #2018
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
configury: fix --disable-mpi-io for static builds #2018
Conversation
|
@jsquyres this is a variant of #2010 @edgargabriel FYI |
a5f9238 to
9894f9b
Compare
ompi/mca/common/configure.m4
Outdated
| # ------------------------------------------- | ||
| AC_DEFUN([MCA_ompi_common_CONFIG], | ||
| [ | ||
| MCA_CONFIGURE_FRAMEWORK([$1], [$2], [$define_mpi_io]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clever! 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
...actually, after my first "oh, that's cool!" reaction, I don't think that this is quite right yet.
This solution will disable all common components when --disable-mpi-io is used, even if those common components have nothing to do with MPI IO.
Granted, right now, there's only ompi/mca/common/ompio, but there could well be other common components that are unrelated to MPI IO (we have a bunch in opal/mca/common, for example).
Can you adjust?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep, will do
9894f9b to
2c44cdd
Compare
|
I'm inclined to merge this one and not merge #2020 -- do we really need The use case for disabling MPI IO altogether (including the PMI/MPI IO API functions) is different: it allows Open MPI with an external installation of ROMIO. |
|
The reason for having a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ggouaillardet I think this is now nearly correct, and we should probably close #2010 in favor of this one.
@jjhursey Ok, I see your point on --disable-io-ompio -- we should probably treat #2020 as a separate issue, and finish that one once this one is merged.
config/ompi_configure_options.m4
Outdated
| [Disable built-in support for MPI-2 I/O, likely because | ||
| an externally-provided MPI I/O package will be used. | ||
| Default is to use the internal component system and | ||
| its specially modified version of ROMIO])]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The default is now to use OMPIO, not ROMIO, right?
I know you just copied this help text, but I think it is now stale / outdated and needed to be updated anyway... 😄
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, will revamp that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in this context, i think we want to say ompi/mca/io framework vs external MPI-IO library
ompi/mca/common/ompio/configure.m4
Outdated
| AC_DEFUN([MCA_ompi_common_ompio_CONFIG],[ | ||
| AC_CONFIG_FILES([ompi/mca/common/ompio/Makefile]) | ||
|
|
||
| AS_IF([test "$define_mpi_io" = "1"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be good to put a comment here explaining what $define_mpi_io is, and why it can enable/disable the entire common/ompi framework (I know you just copied the code from before, but that name is a bit... weird, and doesn't really follow the conventions of other enable/disable vars elsewhere in the code base).
|
|
||
| OMPI_MPIF_IO_CONSTANTS_INCLUDE= | ||
| OMPI_MPIF_IO_HANDLES_INCLUDE= | ||
| AS_IF([test "$enable_mpi_io" != "no"], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this line now be checking $define_mpi_io instead of $enable_mpi_io?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is equivalent, but let's change it to be more consistent
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
on second thought, i'd rather use $enable_mpi_io everywhere, and locally define $define_mpi_io only where needed in ompi/mca/io/configure.m4
2c44cdd to
3407817
Compare
- move the mpi-io configury option into config/ompi_configure_options.m4 - add ompi/mca/common/ompio/configure.m4 so this component is not built when Open MPI is configure'd with --disable-mpi-io Fixes open-mpi#2009
3407817 to
c3f4b7b
Compare
|
@jsquyres i made the changes |
Open MPI is configure'd with --disable-mpi-io
Fixes #2009