Skip to content

coll/han: disable alltoall for device buffers and MPI_IN_PLACE #13200

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

lrbison
Copy link
Contributor

@lrbison lrbison commented Apr 18, 2025

coll/han: disable alltoall for device buffers and MPI_IN_PLACE

The han alltoall algorithm was never intended for an in-place alltoall
and will crash if used in that configuration.  Additionally it is not
an efficient choice for device buffers.  Fall back to another
algorithm if either condition is met.

also a small optimization, but note that it doesn't impact applications which provide contiguous buffers.

coll/han: alltoall uses han freelist when possible

As an optimization, when the han alltoall algorithm is forced to
allocate a bounce buffer, and that bounce buffer is small enough, then
use a buffer from the han_component.pack_buffers free list.

Testing: confirmed in-place bug and fix using osu micro benchmarks. Tested correctness using the alltoall mode of https://github.com/open-mpi/ompi-tests-public/tree/master/alltoallv_validation. I was not able to perform performance tests using device buffers.

lrbison added 2 commits April 18, 2025 14:37
The han alltoall algorithm was never intended for an in-place alltoall
and will crash if used in that configuration.  Additionally it is not
an efficient choice for device buffers.  Fall back to another
algorithm if either condition is met.

Signed-off-by: Luke Robison <[email protected]>
As an optimization, when the han alltoall algorithm is forced to
allocate a bounce buffer, and that bounce buffer is small enough, then
use a buffer from the han_component.pack_buffers free list.

Signed-off-by: Luke Robison <[email protected]>
@lrbison
Copy link
Contributor Author

lrbison commented Apr 18, 2025

@hppritcha This should address the performance problem you shared with me on main.

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.

1 participant