Gromacs
2025-dev-20241002-88a4191
|
#include <gromacs/modularsimulator/pmeloadbalancehelper.h>
Infrastructure element responsible for PME load balancing.
This encapsulates the function call to PME load balancing, which is important for performance but outside of the current scope of the modular simulator project. This relies on legacy data structures for the state.
This element does not implement the ISimulatorElement interface, as the Simulator is calling it explicitly between task queue population steps. This allows elements to be aware of any changes before deciding what functionality they need to run.
Public Member Functions | |
PmeLoadBalanceHelper (bool isVerbose, StatePropagatorData *statePropagatorData, FILE *fplog, t_commrec *cr, const MDLogger &mdlog, const t_inputrec *inputrec, gmx_wallcycle *wcycle, t_forcerec *fr) | |
Constructor. | |
void | setup () |
Initialize the load balancing object. | |
void | run (Step step, Time time) |
Do load balancing. | |
void | teardown () |
Final printout and deconstruction of the load balancing object. | |
bool | pmePrinting () const |
Whether PME load balancing printing is active. More... | |
const pme_load_balancing_t * | loadBalancingObject () |
Direct access to the load balancing object - used by reset counter. | |
Public Member Functions inherited from gmx::INeighborSearchSignallerClient | |
virtual | ~INeighborSearchSignallerClient ()=default |
Standard virtual destructor. | |
Static Public Member Functions | |
static bool | doPmeLoadBalancing (const MdrunOptions &mdrunOptions, const t_inputrec *inputrec, const t_forcerec *fr, const SimulationWorkload &simWorkload) |
Whether we're doing PME load balancing. | |
Additional Inherited Members |
bool gmx::PmeLoadBalanceHelper::pmePrinting | ( | ) | const |
Whether PME load balancing printing is active.