Skip to content
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

fix deadlock in asyncSend #1326

Merged

Conversation

psychocoderHPC
Copy link
Member

A deadlock in the async communication is triggered when process one opened a MPI_Receive while the destination process two not opened the MPI_Send and starts a MPI collective operation. In this case the event system stops and not start the MPI_Send from process two which wait in a side dependency chain. Process one wait for finish of the MPI_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:

`GridBuffer.hpp` and `ParticlesBuffer.hpp`: set gpuFree event to communication event
@psychocoderHPC psychocoderHPC added bug a bug in the project's code component: PMacc in PMacc affects latest release a bug that affects the latest stable release labels Jan 11, 2016
@psychocoderHPC psychocoderHPC added this to the Open Beta milestone Jan 11, 2016
@psychocoderHPC psychocoderHPC mentioned this pull request Jan 11, 2016
1 task
ax3l added a commit that referenced this pull request Jan 11, 2016
@ax3l ax3l merged commit 16b85fe into ComputationalRadiationPhysics:dev Jan 11, 2016
@ax3l
Copy link
Member

ax3l commented Jan 11, 2016

thank you a lot! ✨

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects latest release a bug that affects the latest stable release bug a bug in the project's code component: PMacc in PMacc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants