|
Gromacs
2026.0-dev-20251109-f20ba35
|
#include <gromacs/ewald/pme_load_balancing.h>
Object to manage PME load balancing.
Classes | |
| class | Impl |
| Impl class for PmeLoadBalancing. More... | |
Public Member Functions | |
| PmeLoadBalancing (gmx_domdec_t *dd, const MDLogger &mdlog, const t_inputrec &ir, const matrix box, const interaction_const_t &ic, const nonbonded_verlet_t &nbv, gmx_pme_t *pmedata, const SimulationWorkload &simulationWork) | |
| Initialize the PP-PME load balancing data and infrastructure. More... | |
| PmeLoadBalancing (const PmeLoadBalancing &)=delete | |
| PmeLoadBalancing & | operator= (const PmeLoadBalancing &)=delete |
| PmeLoadBalancing (PmeLoadBalancing &&)=delete | |
| PmeLoadBalancing & | operator= (PmeLoadBalancing &&)=delete |
| bool | isActive () const |
| Return whether PME load balancing is active. | |
| bool | isPrintingLoad () const |
| Return whether PME load balancing is printing load numbers to the log file. | |
| void | addCycles (FILE *fp_err, t_forcerec *fr, const matrix box, ArrayRef< const RVec > x, const gmx_wallcycle *wcycle, int64_t step, int64_t step_rel) |
| Process cycles and PME load balance when necessary. More... | |
| void | printSettings () const |
| Print the chosen PME settings to the mdlogger. | |
| gmx::PmeLoadBalancing::PmeLoadBalancing | ( | gmx_domdec_t * | dd, |
| const MDLogger & | mdlog, | ||
| const t_inputrec & | ir, | ||
| const matrix | box, | ||
| const interaction_const_t & | ic, | ||
| const nonbonded_verlet_t & | nbv, | ||
| gmx_pme_t * | pmedata, | ||
| const SimulationWorkload & | simulationWork | ||
| ) |
Initialize the PP-PME load balancing data and infrastructure.
Initialize the PP-PME load balancing data and infrastructure. The actual load balancing might start right away, later or never. The PME grid in pmedata is reused for smaller grids to lower the memory usage. The memory passed in pmedata needs to be freed after destructing PmeLoadBalancing object.
pmeTuningIsSupported() returns true. | void gmx::PmeLoadBalancing::addCycles | ( | FILE * | fp_err, |
| t_forcerec * | fr, | ||
| const matrix | box, | ||
| ArrayRef< const RVec > | x, | ||
| const gmx_wallcycle * | wcycle, | ||
| int64_t | step, | ||
| int64_t | step_rel | ||
| ) |
Process cycles and PME load balance when necessary.
Process the cycles measured over the last nstlist steps and then either continue balancing or check if we need to trigger balancing. Should be called after the WallCycleCounter::Step cycle counter has been stopped.
1.8.5