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