Gromacs  2021-beta2-UNCHECKED
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include "gromacs/math/vec.h"
#include "gromacs/utility/gmxmpi.h"
+ Include dependency graph for domdec_setup.h:
+ This graph shows which files directly or indirectly include this file:


Declares functions for choosing the DD grid setup.

Berk Hess


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...


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...

Function Documentation

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.