#include <cstdint>
#include <vector>
#include "gromacs/math/vectypes.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/real.h"
Declares DD cell-size related functions.
- Author
- Berk Hess hess@.nosp@m.kth..nosp@m.se
|
real | grid_jump_limit (const gmx_domdec_comm_t *comm, real cutoff, int dim_ind) |
| Returns the minimum allowed distance between lower and upper bounds of zones along dimension dim_ind.
|
|
gmx::ArrayRef< const
std::vector< real > > | set_dd_cell_sizes_slb (gmx_domdec_t *dd, const gmx_ddbox_t *ddbox, int setmode) |
| Sets up an initial, non-staggered grid geometry, possibly using static load balancing. More...
|
|
void | set_dd_cell_sizes (gmx_domdec_t *dd, const gmx_ddbox_t *ddbox, gmx_bool bDynamicBox, gmx_bool bUniform, gmx_bool bDoDLB, int64_t step, gmx_wallcycle *wcycle) |
| General cell size adjustment, possibly applying dynamic load balancing.
|
|
Options for setting up a regular, possibly static load balanced, cell grid geometry.
Enumerator |
---|
setcellsizeslbLOCAL |
Set cell sizes locally on each rank.
|
setcellsizeslbMAIN |
Set cell sizes on main rank only.
|
setcellsizeslbPULSE_ONLY |
Only set the communication pulses, not the cell sizes.
|
gmx::ArrayRef<const std::vector<real> > set_dd_cell_sizes_slb |
( |
gmx_domdec_t * |
dd, |
|
|
const gmx_ddbox_t * |
ddbox, |
|
|
int |
setmode |
|
) |
| |
Sets up an initial, non-staggered grid geometry, possibly using static load balancing.
The number of communication pulses per dimension is set in dd->numPulses. When setmode==setcellsizeslbMAIN, the cell boundaries per dimension are returned, otherwise an empty arrayref is returned.