Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GridBuffer.hpp
andParticlesBuffer.hpp
: set gpuFree event to communication eventA deadlock in the async communication is triggered when process one opened a
MPI_Receive
while the destination process two not opened theMPI_Send
and starts a MPI collective operation. In this case the event system stops and not start theMPI_Send
from process two which wait in a side dependency chain. Process one wait for finish of theMPI_Receive
before it can start the collective operation. Now we had a classical deadlock.This patch only solve the deadlock a cleanup of the interfaces will done in a separate pull request.
Tests:
mpiexec -n 4 ./picongpu -d 2 2 1 -g 64 128 32 -s 10 --mpitest.period 1 --mpitest.mode 3
)