Gromacs
2025-dev-20240906-b7d3419
|
Data to help check local topology construction.
Partitioning could incorrectly miss a bonded interaction. However, checking for that requires a global communication stage, which does not otherwise happen during partitioning. So, for performance, we do that alongside the first global energy reduction after a new DD is made. These variables handle whether the check happens, its input for this domain, output across all domains, and the expected value it should match.
Public Member Functions | |
Impl (const MDLogger &mdlog, const t_commrec *cr, const gmx_mtop_t &mtop, DDBondedChecking ddBondedChecking, const gmx_localtop_t &localTopology, const t_state &localState, bool useUpdateGroups) | |
Constructor. | |
Public Attributes | |
const MDLogger & | mdlog_ |
Objects used when reporting that interactions are missing { Logger. | |
const t_commrec * | cr_ |
Communication record. | |
const gmx_mtop_t & | mtop_ |
Global system topology. | |
const gmx_localtop_t & | localTopology_ |
Local topology. | |
const t_state & | localState_ |
Local state. | |
gmx::ArrayRef< double > | reductionBuffer_ |
} More... | |
gmx::ObservablesReducerBuilder::CallbackToRequireReduction | callbackToRequireReduction_ |
Callback used after repartitioning to require reduction of numBondedInteractionsToReduce so that the total number of bonded interactions can be checked. | |
int | expectedNumGlobalBondedInteractions_ |
The expected number of global bonded interactions from the system topology. | |
gmx::ArrayRef<double> gmx::LocalTopologyChecker::Impl::reductionBuffer_ |
}
View used for computing the global number of bonded interactions.
Can be written any time, but that is only useful when followed by a call of the callbackToRequireReduction. Useful to read only from the callback that the ObservablesReducer will later make after reduction.