Skip to content

Conversation

@maxaehle
Copy link
Contributor

Proposed Changes

Let NdFlattener use a wrapped MPI_Allgatherv function which checks the number of participating MPI ranks. If there is only one, perform a simple copy operation instead.

I hope that this fixes #1893, which I believe to be the result of a bug in MPICH. In my Ubuntu MPICH container, the [NdFlattener] test succeeds with these changes.

Related Work

#1893

PR Checklist

Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.

  • I am submitting my contribution to the develop branch.
  • My contribution generates no new compiler warnings (try with --warnlevel=3 when using meson).
  • My contribution is commented and consistent with SU2 style (https://su2code.github.io/docs_v7/Style-Guide/).
  • I have added a test case that demonstrates my contribution, if necessary.
  • I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp), if necessary.

The wrapper performs a copy operation if there is only one MPI
rank, to avoid a potential bug in MPICH's Allgatherv
implementation.
Copy link
Member

@pcarruscag pcarruscag left a comment

Choose a reason for hiding this comment

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

Thanks

@pcarruscag pcarruscag merged commit 16fb3a3 into develop Jan 20, 2023
@pcarruscag pcarruscag deleted the fix_allgatherv branch January 20, 2023 22:45
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.

3 participants