Domain decomposition and PME load balancing for modular simulator
commit82912ef2b6f0b52469b6eacf815d5330f71551c7
authorPascal Merz <pascal.merz@me.com>
Tue, 9 Jul 2019 04:27:20 +0000 (8 22:27 -0600)
committerMark Abraham <mark.j.abraham@gmail.com>
Mon, 9 Sep 2019 21:02:42 +0000 (9 23:02 +0200)
tree7387acfb93327aa89e471e5270f9af6eb9ff6aa7
parenteb590a14a45f0a92c2c4ea7d60cac53070660b4d
Domain decomposition and PME load balancing for modular simulator

This change introduces two infrastructure elements responsible for
domain decomposition and PME load balancing, respectively. These
encapsulate function calls which are important for performance, but
outside the scope of this effort. They rely on legacy data structures
for the state (both) and the topology (domdec).

The elements do not implement the ISimulatorElement interface, as
the Simulator is calling them explicitly between task queue population
steps. This allows elements to receive the new topology before
deciding what functionality they need to run.

This commit is part of the commit chain introducing the new modular
simulator. Please see docs/doxygen/lib/modularsimulator.md for details
on the chosen approach. As the elements of the new simulator cannot all
be introduced in one commit, it might be worth to view Iaae1e205 to see
a working prototype of the approach.

Change-Id: I1be444270e79cf1391f5a228c8ce3a9934d92701
docs/doxygen/lib/modularsimulator.md
src/gromacs/modularsimulator/domdechelper.cpp [new file with mode: 0644]
src/gromacs/modularsimulator/domdechelper.h [new file with mode: 0644]
src/gromacs/modularsimulator/pmeloadbalancehelper.cpp [new file with mode: 0644]
src/gromacs/modularsimulator/pmeloadbalancehelper.h [new file with mode: 0644]