OPAL hangs when running FFA in parallel
Summary
OPAL hangs when running FFA in parallel
Possible fixes
Ring::apply
has a call to lossDS_m->save();
which in turn calls ippl::allreduce
. This is a type of MPI reduce. At the same time, ParallelCyclotronTracker::deleteParticle
calls allreduce(flagNeedUpdate, 1, std::logical_or<bool>());
. So the procs can never align and we get a hang.
Fix is to call lossDS_m->save()
in the Ring::finalise method, which seems to be the approach taken by Cyclotron
.