fix: Replace MPI barrier with an error collection system#212
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #212 +/- ##
==========================================
+ Coverage 78.67% 85.57% +6.90%
==========================================
Files 196 86 -110
Lines 18146 11040 -7106
Branches 2138 1312 -826
==========================================
- Hits 14277 9448 -4829
+ Misses 3314 1300 -2014
+ Partials 555 292 -263 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
@Helveg, I know you suggested me to create utility functions in |
|
ok is there nothing like: with mpi.all_try():
try:
..
except Exception as e:
errr.wrap(e, ...)that could work in this case? If an error is raised the Maybe call them |
Helveg
left a comment
There was a problem hiding this comment.
Probably cleaner to use the stdlib decorators
Helveg
left a comment
There was a problem hiding this comment.
LGTM, you choose what to do with the finally :)
Describe the work done
MPI.Barrier(). Instead, this PR replaces the barrier with a status collector at the end of these functions to make sure each process is aware if one its fellow process is failing and raises an exception accordingly.NeuroMorphoSelectornode is unset (through the__unboot__function)List which issues this resolves:
Fix #211, #197, #187
Tasks
📚 Documentation preview 📚: https://bsb-core--212.org.readthedocs.build/en/212/