Open jngrad opened 4 years ago
Assigned #3915 https://github.com/espressomd/espresso/issues/3915 to @RudolfWeeber https://github.com/RudolfWeeber .
I’m not sure, what to do about this. I do not understand the dipolar p3m code, unfortunately.
It now fails on ICP computer sheep
at random. This could be a problem during the summer school.
My understanding is the following:
I assume that the previous tuning steps, which determins the number of mesh points, assignment order and r_cut doesn't handle the case where r_cut becomes bigger than half the local box properly. Unfortunately, this code is really hard to understand. Rather than digging further, we should probably rewrite this in a more functional style and clearly write down the pre- and postconditions for each step. While we are at it, we can introduce the possibility to inject artificial timings, so the entire thing can be tested. And include skin tuning for that matter.
@pkreissl, @pstaerk, where/under what condition did the issue occur in the tutorial?
The dipolar P3M algorithm fails for specific particle configurations. The bug depends on the box size and operating system. MWE:
./pypresso mwe.py
triggers an assertionRoot must be bracketed for bisection in dp3m_rtbisection in function double dp3m_rtbisection(...)
, initially reported in https://github.com/espressomd/espresso/pull/3869#issuecomment-676686275mpiexec -n 4 ./pypresso mwe.py
triggers an assertion and generates a stack trace (mwe.log) randomly, depends on the operating system, reported in https://github.com/espressomd/docker/pull/189#issuecomment-699689428dip = 2 * [(0.1, 0, 0)]
, it instead triggers the bisection assertionThis issue makes the
test_09_no_errors_dp3m_cpu()
check intestsuite/python/p3m_tuning_exceptions.py
fragile in CI, which prevents us from updating the ROCm image to Ubuntu 20.04.