Bridge++
Ver. 1.2.x
|
Layout class for logical organisation of parallel nodes. More...
#include <layout.h>
Static Public Member Functions | |
static int | grid_rank (int *rank, const int *gcoord) |
static int | grid_coord (int *gcoord, const int rank) |
static int | grid_dims (int *gdims) |
static int | ipe (const int idir) |
static int | npe (const int idir) |
static int | tag (int rank, int idir, int ipm) |
static int | layout_setup () |
layout_setup() – setup logical layout More... | |
static int | layout_delete () |
static int | physical_map_setup () |
static int | physical_map_delete () |
static int | subgrid_setup () |
static int | subgrid_delete () |
static int | grid_rank (int *rank, const int *gcoord) |
find rank from grid coordinate. More... | |
static int | grid_coord (int *gcoord, const int rank) |
find grid coordinate corresponding to rank. More... | |
static int | grid_dims (int *gdims) |
find grid size. More... | |
static int | ipe (const int idir) |
grid coordinate along idir direction. More... | |
static int | npe (const int idir) |
grid size in idir direction. More... | |
static int | tag (int rank, int idir, int ipm) |
generate tag for communication. More... | |
static int | layout_setup () |
initialise layout. More... | |
static int | layout_delete () |
destroy layout and clean up. More... | |
static int | physical_map_setup () |
static int | physical_map_delete () |
static int | subgrid_setup () |
static int | subgrid_delete () |
Static Public Attributes | |
static int | m_ndim = 0 |
number of dimensions. More... | |
static int * | m_dims = 0 |
lattice extent (Lx, Ly, Lz, Lt) More... | |
static int * | m_grid_dims = 0 |
grid dimensions in directions. More... | |
static int * | m_grid_coord = 0 |
grid coordinate. More... | |
static int * | m_ipe_up = 0 |
rank of upward neighbour in directions. More... | |
static int * | m_ipe_dn = 0 |
rank of downward neighbour in directions. More... | |
static char | m_map_grid [16] |
static int * | m_physical_to_logical = 0 |
map between physical and logical grid More... | |
static int * | m_sub_comm = 0 |
static MPI_Comm * | m_sub_comm |
subgrid More... | |
Private Member Functions | |
Layout () | |
Layout (const Layout &) | |
Layout & | operator= (const Layout &) |
Layout () | |
constructor is hidden as private; no instantiation. More... | |
Layout (const Layout &) | |
copy constructor is hidden as private; no instantiation. More... | |
Layout & | operator= (const Layout &) |
assignment is hidden as private. More... | |
Layout class for logical organisation of parallel nodes.
Layout class inside MPI communicator class describes logical organisation of parallel nodes. not intended for public use.
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
static |
Definition at line 56 of file physical_map.cpp.
|
static |
find grid coordinate corresponding to rank.
|
static |
Definition at line 73 of file layout.cpp.
|
static |
find grid size.
|
static |
Definition at line 40 of file physical_map.cpp.
|
static |
find rank from grid coordinate.
|
static |
Definition at line 61 of file layout.cpp.
|
static |
grid coordinate along idir direction.
|
static |
Definition at line 188 of file layout.cpp.
|
static |
destroy layout and clean up.
|
static |
layout_setup() – setup logical layout
find dimension, global lattice size, local lattice size, grid division from CommonParameters. if grid division or local size is specified, check consistency. otherwise, try to divide so that global lattice size is divisable and the total number of rank is equal to number of processor elements.
N.B. the result should be stored back to communicator for further use from other components.
N.B. initial parameter settings are taken from CommonParameters; should rather be fetched from parameter file or something else?
Definition at line 89 of file layout.cpp.
|
static |
initialise layout.
|
static |
Definition at line 67 of file layout.cpp.
|
static |
grid size in idir direction.
assignment is hidden as private.
|
static |
Definition at line 84 of file physical_map.cpp.
|
static |
|
static |
Definition at line 71 of file physical_map.cpp.
|
static |
|
static |
Definition at line 248 of file layout.cpp.
|
static |
|
static |
Definition at line 210 of file layout.cpp.
|
static |
|
static |
Definition at line 83 of file layout.cpp.
|
static |
generate tag for communication.
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |