-
Notifications
You must be signed in to change notification settings - Fork 868
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
v4.1.x: Fix inconsistent configure-time check #11857
Conversation
Hello! The Git Commit Checker CI bot found a few problems with this PR: c3fbe69: Fix inconsistent configure-time check
Please fix these problems and, if necessary, force-push new commits back up to the PR branch. Thanks! |
c3fbe69
to
044adbe
Compare
Hello! The Git Commit Checker CI bot found a few problems with this PR: 044adbe: Fix inconsistent configure-time check
Please fix these problems and, if necessary, force-push new commits back up to the PR branch. Thanks! |
044adbe
to
0f8e73b
Compare
Hello! The Git Commit Checker CI bot found a few problems with this PR: 0f8e73b: Fix inconsistent configure-time check
Please fix these problems and, if necessary, force-push new commits back up to the PR branch. Thanks! |
1 similar comment
Hello! The Git Commit Checker CI bot found a few problems with this PR: 0f8e73b: Fix inconsistent configure-time check
Please fix these problems and, if necessary, force-push new commits back up to the PR branch. Thanks! |
@skosukhin Can you add more information to the commit message about the "what" and "why" this commit is necessary? You put a lot of information in the PR body, which is great -- at least some of that should probably also be in the git commit message. I understand your rationale for why this is not a cherry pick; you need to put the notacherrypick bot token in the PR description, not the git commit message. Then the CI bot will pass. |
Hello! The Git Commit Checker CI bot found a few problems with this PR: 0f8e73b: Fix inconsistent configure-time check
Please fix these problems and, if necessary, force-push new commits back up to the PR branch. Thanks! |
This fixes the inconsistency between what is tested at the configure time (the unnamed Fortran interface) and what is actually used in the source code (the named Fortran interface). As was mentioned in open-mpi#9445, the unnamed interfaces are more forgiving when it comes to TKR mismatches. Therefore, the current configure-time check is not strict enough and is prone to giving false results (e.g. for NVHPC 23.3+). The fix is to switch to the named Fortran interface in the configure script. Note that the inconsistency was resolved in the main branch with open-mpi#9445, which we cannot cherry-pick because it potentially breaks the ABI compatibility. Signed-off-by: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de>
0f8e73b
to
5b4ee66
Compare
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.
Thank you!
This fixes the inconsistency between what is tested at the configure time and what is actually used in the source code. Note that the issue was solved in the
main
with #9445. As far as I understand, there are no plans to backport that PR to4.1.x
because it potentially changes the ABI compatibility. Therefore, this PR fixes the problem the other way around.Starting version 23.3, NVHPC compiler supports
type(*)
and the configure script setsompi_cv_fortran_ignore_tkr_data
to1:type(*), dimension(*):!GCC$ ATTRIBUTES NO_ARG_CHECK ::
, which makes thempi
Fortran module unusable in some cases. For example, we cannot compile the following:The compiler reports:
As was mentioned in #9445, the unnamed interfaces are more forgiving when it comes to TKR mismatches. Indeed, the code snippet run by the configure script uses the unnamed interface and is too weak for the following use case. This PR makes the configure-time check stricter by switching to the named interface, which is what is actually used in the code. With this change, the configure script sets
ompi_cv_fortran_ignore_tkr_data
to1:real, dimension(*):!DIR$ IGNORE_TKR
when using NVHPC 23.3+ (the same value as for the older versions of the compiler) and the code snipped above compiles successfully.bot:notacherrypick