espresso
espresso copied to clipboard
Separate RPC interface and parallel core
Currently thee parallel core (mpi synchronous) and frontend interface (callbacks) are fused together. This should be separated for clarity and for making sure only the latter is called from the script level, which has been one of the most common bugs in the past. Then we need to decide what to do in the future, because conceptually there is some overlap between direct callbacks and the script interface at the moment.
I still think this still should be a priority. Includes clarification of the ownership of the globals (frontend vs core).
The plan is to rewrite all algorithms to be fully parallel. We will remove the src/core
dependency on the MpiCallbacks
framework. All reductions to MPI rank 0 should be carried out by the ScriptInterface
.