Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions
gmx::PmeLoadBalanceHelper Class Referencefinal

#include <gromacs/modularsimulator/pmeloadbalancehelper.h>

+ Inheritance diagram for gmx::PmeLoadBalanceHelper:
+ Collaboration diagram for gmx::PmeLoadBalanceHelper:

Description

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 ()
 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.
 

Static Public Member Functions

static bool doPmeLoadBalancing (const MdrunOptions &mdrunOptions, const t_inputrec *inputrec, const t_forcerec *fr)
 Whether we're doing PME load balancing.
 

Member Function Documentation

bool gmx::PmeLoadBalanceHelper::pmePrinting ( )

Whether PME load balancing printing is active.

Todo:
Check this!

The documentation for this class was generated from the following files: