Gromacs
2019
|
#include "gromacs/mdtypes/forcerec.h"
#include "gromacs/mdtypes/interaction_const.h"
#include "gromacs/timing/wallcycle.h"
This file contains function declarations necessary for managing automatic load balance of PME calculations (Coulomb and LJ).
Functions | |
bool | pme_loadbal_is_active (const pme_load_balancing_t *pme_lb) |
Return whether PME load balancing is active. | |
void | pme_loadbal_init (pme_load_balancing_t **pme_lb_p, t_commrec *cr, const gmx::MDLogger &mdlog, const t_inputrec &ir, const matrix box, const interaction_const_t &ic, const NbnxnListParameters &listParams, gmx_pme_t *pmedata, gmx_bool bUseGPU, gmx_bool *bPrinting) |
Initialize the PP-PME load balacing data and infrastructure. More... | |
void | pme_loadbal_do (pme_load_balancing_t *pme_lb, struct t_commrec *cr, FILE *fp_err, FILE *fp_log, const gmx::MDLogger &mdlog, const t_inputrec &ir, t_forcerec *fr, const t_state &state, gmx_wallcycle_t wcycle, int64_t step, int64_t step_rel, gmx_bool *bPrinting) |
Process cycles and PME load balance when necessary. More... | |
void | pme_loadbal_done (pme_load_balancing_t *pme_lb, FILE *fplog, const gmx::MDLogger &mdlog, gmx_bool bNonBondedOnGPU) |
Finish the PME load balancing and print the settings when fplog!=NULL. | |
void pme_loadbal_do | ( | pme_load_balancing_t * | pme_lb, |
struct t_commrec * | cr, | ||
FILE * | fp_err, | ||
FILE * | fp_log, | ||
const gmx::MDLogger & | mdlog, | ||
const t_inputrec & | ir, | ||
t_forcerec * | fr, | ||
const t_state & | state, | ||
gmx_wallcycle_t | wcycle, | ||
int64_t | step, | ||
int64_t | step_rel, | ||
gmx_bool * | bPrinting | ||
) |
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 ewcSTEP cycle counter has been stopped. Returns if the load balancing is printing to fp_err.
void pme_loadbal_init | ( | pme_load_balancing_t ** | pme_lb_p, |
t_commrec * | cr, | ||
const gmx::MDLogger & | mdlog, | ||
const t_inputrec & | ir, | ||
const matrix | box, | ||
const interaction_const_t & | ic, | ||
const NbnxnListParameters & | listParams, | ||
gmx_pme_t * | pmedata, | ||
gmx_bool | bUseGPU, | ||
gmx_bool * | bPrinting | ||
) |
Initialize the PP-PME load balacing data and infrastructure.
Initialize the PP-PME load balacing data and infrastructure. The actual load balancing might start right away, later or never. Returns in bPrinting whether the load balancing is printing to fp_err. The PME grid in pmedata is reused for smaller grids to lower the memory usage.