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

Member Function Documentation

bool gmx::PmeLoadBalanceHelper::pmePrinting ( ) const

Whether PME load balancing printing is active.

Todo:
Check this!

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