Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #111 +/- ##
==========================================
- Coverage 95.73% 95.73% -0.00%
==========================================
Files 244 244
Lines 51462 51464 +2
==========================================
Hits 49267 49267
- Misses 2195 2197 +2 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@thomaszyu, @cgeudeker, and @Curiim, when you have time, would you be able to pull/cherry-pick this branch/commit temporarily to your favourite branch and try doing the usual MPI compile and run? This should not change anything in your simulation. |
|
Hi Nanda, I cherrypicked your bug fix into my force output hardcode branch and ran MPM with 16 MPI ranks, the results look good to me. |
|
@thomaszyu Thanks for checking. I notice there is still a bug... especially when running in full-debug. Will try to understand this further before merging this branch. |
Describe the PR
This PR fixes potential deadlocks and crashes in the MPI halo particle transfer routine. The changes are minimal and preserve the original communication pattern. Key fixes include:
std::vector<unsigned> send_counts) for particle counts in nonblocking sends, avoiding dangling pointers.send_requestswithresize()instead of reserve(), preventing out-of-bounds writes.MPI_ProbewithMPI_Recvusing the probedstatus.MPI_SOURCEandstatus.MPI_TAG, eliminating message size/source mismatches.MPI_UNSIGNED).These changes eliminate common sources of bottlenecks and undefined behavior, which particularly emerge in large numbers of particle simulations.
Related Issues/PRs
N/A
Additional context
N/A