Gromacs
2024.4
|
#include "gmxpre.h"
#include "biassharing.h"
#include "config.h"
#include <algorithm>
#include <set>
#include <vector>
#include "gromacs/gmxlib/network.h"
#include "gromacs/mdrunutility/multisim.h"
#include "gromacs/mdtypes/awh_params.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
Implements bias sharing checking functionality.
Functions | |
std::multiset< int > | gmx::anonymous_namespace{biassharing.cpp}::getGlobalShareIndices (ArrayRef< const int > localShareIndices, MPI_Comm simulationMainComm) |
Determines and returns which of the local biases are shared with who how many other simulations. | |
template<typename T > | |
void | gmx::sumOverSimulations (ArrayRef< T > data, MPI_Comm multiSimComm, const bool broadcastWithinSimulation, const t_commrec &commRecord) |
Sum an array over all simulations on main ranks or all ranks of each simulation. More... | |
bool | gmx::haveBiasSharingWithinSimulation (const AwhParams &awhParams) |
Returns if any bias is sharing within a simulation. More... | |
void | gmx::biasesAreCompatibleForSharingBetweenSimulations (const AwhParams &awhParams, ArrayRef< const size_t > pointSize, const BiasSharing &biasSharing) |
Checks whether biases are compatible for sharing between simulations, throws when not. More... | |