You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A regression was introduced in 4.3-dev by 5add7f8 from #4541. The auto-exclusion feature no longer runs in parallel due to a missing MPI guard in the script interface System class:
$ mpiexec -n 2 ./pypresso testsuite/python/auto_exclusions.py
terminate called after throwing an instance of 'std::logic_error'
what(): Callbacks can only be invoked on rank 0.
The following patch fixes the regression:
diff --git a/src/script_interface/system/System.cpp b/src/script_interface/system/System.cpp
index aaa3ca554..62f743396 100644
--- a/src/script_interface/system/System.cpp+++ b/src/script_interface/system/System.cpp@@ -82,6 +82,8 @@ Variant System::do_call_method(std::string const &name,
#ifdef EXCLUSIONS
if (name == "auto_exclusions") {
- auto const distance = get_value<int>(parameters, "distance");- auto_exclusions(distance);+ if (context()->is_head_node()) {+ auto const distance = get_value<int>(parameters, "distance");+ auto_exclusions(distance);+ }
return {};
}
This regression was not caught by the testsuite, because auto_exclusions.py doesn't run in parallel.
The text was updated successfully, but these errors were encountered:
A regression was introduced in 4.3-dev by 5add7f8 from #4541. The auto-exclusion feature no longer runs in parallel due to a missing MPI guard in the script interface
System
class:The following patch fixes the regression:
This regression was not caught by the testsuite, because
auto_exclusions.py
doesn't run in parallel.The text was updated successfully, but these errors were encountered: