Located in file: MEL.hpp
MEL::
TopoCartesianMakeDims
(const int numProcs, const int numdims, int *dims)¶Compute the ‘ideal’ dimensions for a topolgy over n-processes.
numProcs
- The number of processes in the topology
numdims
- The number of dimensions in the topology
dims
- Pointer to an (already allocated) array of length numdims
MEL::
TopoCartesianMakeDims
(const Comm &comm, const int numdims, int *dims)¶Compute the ‘ideal’ dimensions for a topolgy over n-processes.
comm
- The comm object the topology should represent
numdims
- The number of dimensions in the topology
dims
- Pointer to an (already allocated) array of length numdims
MEL::
TopoCartesianMakeDims
(const int numProcs, const int numdims)¶Compute the ‘ideal’ dimensions for a topolgy over n-processes.
numProcs
- The number of processes in the topology
numdims
- The number of dimensions in the topology
MEL::
TopoCartesianMakeDims
(const Comm &comm, const int numdims)¶Compute the ‘ideal’ dimensions for a topolgy over n-processes.
comm
- The comm object the topology should represent
numdims
- The number of dimensions in the topology
MEL::
TopoCartesianCreate
(const Comm &comm, int numdims, const int *dims, const int *periods)¶Create a cartesian topology over a comm world.
comm
- The comm object the topology should represent
numdims
- The number of dimensions in the topology
dims
- Pointer to an array of sizes of each dimension
periods
- Pointer to an array of logicals representing if each dimension is periodic or not
MEL::
TopoCartesianCreate
(const Comm &comm, const std::vector<TopoCartesian_Dim> &dims)¶Create a cartesian topology over a comm world.
comm
- The comm object the topology should represent
dims
- A std::vector of pairs representing dimension sizes and whether dimensions are periodic
MEL::
TopoCartesianNumDims
(const Comm &comm)¶Get the number of dimensions in an attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
MEL::
TopoCartesianRank
(const Comm &comm, const int *coords)¶Get the rank within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
coords
- Pointer to an array representing the n-dim coordinates in the topology
MEL::
TopoCartesianRank
(const Comm &comm, const std::vector<int> coords)¶Get the rank within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
coords
- A std::vector representing the n-dim coordinates in the topology
MEL::
TopoCartesianCoords
(const Comm &comm, const int rank, int numdims, int *coords)¶Get the n-dim coordinates within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
rank
- The rank within comm
numdims
- The number of dimensions in the topology
coords
- Pointer to an array of numdims ints representing the coordinates
MEL::
TopoCartesianCoords
(const Comm &comm, const int rank, int numdims)¶Get the n-dim coordinates within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
rank
- The rank within comm
numdims
- The number of dimensions in the topology
MEL::
TopoCartesianCoords
(const Comm &comm, const int rank)¶Get the n-dim coordinates within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
rank
- The rank within comm
MEL::
TopoCartesianCoords
(const Comm &comm)¶Get the n-dim coordinates within the attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
MEL::
TopoCartesianGet
(const Comm &comm, int numdims, int *dims, int *periods, int *coords)¶Get the properties of an attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
numdims
- The number of dimensions in the topology
dims
- Pointer to an array of n-dims size representing the sizes of each dimension
periods
- Pointer to an array of n-dims size representing whether each dimension is periodic
coords
- Pointer to an array of n-dims size representing the coordinate in each dimension
MEL::
TopoCartesianGet
(const Comm &comm)¶Get the properties of an attached cartesian topology of a comm world.
comm
- The comm object the topology is attached to
MEL::
TopoCartesianShift
(const Comm &comm, int direction, int disp, int &rank_prev, int &rank_next)¶Compute the ranks of a left and right shifted neighbor for a given dimension within a topology.
comm
- The comm object the topology is attached to
direction
- The dimension to shift in
disp
- How much to shift by
rank_prev
- The left neighbour
rank_next
- The right neighbour
MEL::
TopoCartesianShift
(const Comm &comm, int direction, int disp)¶Compute the ranks of a left and right shifted neighbor for a given dimension within a topology.
comm
- The comm object the topology is attached to
direction
- The dimension to shift in
disp
- How much to shift by
MEL::
TopoCartesianStencil2D5P
(const Comm &comm)¶Create a 2D 5-point stencil of ranks representing the neighbouring processes.
comm
- The comm object the topology is attached to
MEL::
TopoCartesianStencil2D9P
(const Comm &comm)¶Create a 2D 9-point stencil of ranks representing the neighbouring processes.
comm
- The comm object the topology is attached to