Gromacs
2021.5
|
Declares functions for choosing the DD grid setup.
Classes | |
class | gmx::ArrayRef< typename > |
STL-like interface to a C array of T (or part of a std container of T). More... | |
struct | DDGridSetup |
Describes the DD grid setup. More... | |
Functions | |
real | comm_box_frac (const gmx::IVec &dd_nc, real cutoff, const gmx_ddbox_t &ddbox) |
Returns the volume fraction of the system that is communicated. | |
void | checkForValidRankCountRequests (int numRanksRequested, bool usingPme, int numPmeRanksRequested, bool checkForLargePrimeFactors) |
Checks that requests for PP and PME ranks honor basic expectations. More... | |
real | getDDGridSetupCellSizeLimit (const gmx::MDLogger &mdlog, bool bDynLoadBal, real dlb_scale, const t_inputrec &ir, real systemInfoCellSizeLimit) |
Return the minimum cell size (in nm) required for DD. | |
DDGridSetup | getDDGridSetup (const gmx::MDLogger &mdlog, DDRole ddRole, MPI_Comm communicator, int numRanksRequested, const gmx::DomdecOptions &options, const DDSettings &ddSettings, const DDSystemInfo &systemInfo, real cellSizeLimit, const gmx_mtop_t &mtop, const t_inputrec &ir, const matrix box, gmx::ArrayRef< const gmx::RVec > xGlobal, gmx_ddbox_t *ddbox) |
Determines the DD grid setup. More... | |
void checkForValidRankCountRequests | ( | int | numRanksRequested, |
bool | usingPme, | ||
int | numPmeRanksRequested, | ||
bool | checkForLargePrimeFactors | ||
) |
Checks that requests for PP and PME ranks honor basic expectations.
Issues a fatal error if there are more PME ranks than PP, or if the count of PP ranks has a prime factor that is too large to be likely to have good performance.
DDGridSetup getDDGridSetup | ( | const gmx::MDLogger & | mdlog, |
DDRole | ddRole, | ||
MPI_Comm | communicator, | ||
int | numRanksRequested, | ||
const gmx::DomdecOptions & | options, | ||
const DDSettings & | ddSettings, | ||
const DDSystemInfo & | systemInfo, | ||
real | cellSizeLimit, | ||
const gmx_mtop_t & | mtop, | ||
const t_inputrec & | ir, | ||
const matrix | box, | ||
gmx::ArrayRef< const gmx::RVec > | xGlobal, | ||
gmx_ddbox_t * | ddbox | ||
) |
Determines the DD grid setup.
Either implements settings required by the user, or otherwise chooses estimated optimal number of separate PME ranks and DD grid cell setup, DD cell size limits, and the initial ddbox.