Skip to content
This repository has been archived by the owner on Mar 1, 2023. It is now read-only.

Move Isend to begin_ghost_exchange #2062

Open
simonbyrne opened this issue Feb 25, 2021 · 0 comments
Open

Move Isend to begin_ghost_exchange #2062

simonbyrne opened this issue Feb 25, 2021 · 0 comments

Comments

@simonbyrne
Copy link
Member

simonbyrne commented Feb 25, 2021

Currently MPI.Isend is called from end_ghost_exchange: this is probably not a huge issue on GPU as the asynchronous kernel launches will handle the mean that end_ghost_exchange will be immediately called after the compute kernels are launched. However on CPU the scheduler will probably run the compute kernels to completion before it gets to running end_ghost_exchange (in fact this must be happening, as there is no yield between the Isend and the blocking Waitall! on the receive requests). I suspect this is probably causing scaling problems for CPU performance.

An alternative would be to schedule the Waitall! on a different thread (see JuliaParallel/MPI.jl#452)

cc: @kpamnany @vchuravy

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant