Gromacs
2024.4
|
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 t_commrec *cr, const gmx_mtop_t &mtop) | |
Constructor. | |
void | check (int numTotalPerturbedExclusionsFound) |
Checks the count passed with the expected number and exits with a fatal error at mismatch. | |
Public Attributes | |
const t_commrec * | cr_ |
Object used when reporting that exclusions are missing { Communication record. | |
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 | expectedNumGlobalPerturbedExclusions_ |
The expected number of global non-bonded perturbed pair exclusions. | |
gmx::ArrayRef<double> ExclusionChecker::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.