public class Cartcomm extends Intracomm
group, mpjdevComm
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
clone()
Clone the communicator This method will be called only by intracommunicator ....
|
int[] |
Coords(int rank)
Translate process rank to logical process coordinates.
|
static void |
Dims_create(int nnodes, int[] dims)
Select a balanced distribution of processes per coordinate direction.
|
CartParms |
Get()
Returns Cartesian topology information.
|
int |
Map(int[] dims, boolean[] periods)
Compute an optimal placement.
|
int |
Rank(int[] coords)
Translate logical process coordinates to process rank.
|
ShiftParms |
Shift(int direction, int disp)
Compute source and destination ranks for ``shift'' communication.
|
Cartcomm |
Sub(boolean[] remain_dims)
Partition Cartesian communicator into subgroups of lower dimension.
|
int |
Topo_test()
Returns the type of topology associated with the communicator.
|
Allgather, Allgatherv, Allreduce, Alltoall, Alltoallv, Barrier, Bcast, Compare, Create_cart, Create_graph, Create, Gather, Gatherv, Reduce_scatter, Reduce, Scan, Scatter, Scatterv, Split
Abort, Attr_delete, Attr_get, Bsend_init, Bsend, bsend, Create_intercomm, Free, Group, Ibsend, ibsend, Iprobe, Irecv, irecv, Irsend, irsend, Isend, isend, Issend, issend, Pack_size, Pack, Probe, Rank, Recv_init, Recv, recv, Rsend_init, Rsend, rsend, Send_init, Send, send, Sendrecv_replace, sendrecv, Sendrecv, Size, Ssend_init, Ssend, ssend, Test_inter, Unpack
public java.lang.Object clone() throws MPIException
Intracomm
clone
in class Intracomm
MPIException
public int Rank(int[] coords) throws MPIException
coords | Cartesian coordinates of a process |
returns: | rank of the specified process |
Java binding of the MPI operation MPI_CART_RANK.
MPIException
public int[] Coords(int rank) throws MPIException
rank | rank of a process |
returns: | Cartesian coordinates of the specified process |
Java binding of the MPI operation MPI_CART_COORDS.
MPIException
public ShiftParms Shift(int direction, int disp) throws MPIException
direction | coordinate dimension of shift |
disp | displacement |
returns: | object containing ranks of source and destination processes |
Java binding of the MPI operation MPI_CART_SHIFT.
MPIException
public Cartcomm Sub(boolean[] remain_dims) throws MPIException
remain_dims | by dimension, true if dimension is to be kept, false otherwise |
returns: | communicator containing subgrid including this process |
Java binding of the MPI operation MPI_CART_SUB.
MPIException
public int Map(int[] dims, boolean[] periods) throws MPIException
dims | the number of processes in each dimension |
periods | true if grid is periodic, false if not, in each dimension |
returns: | reordered rank of calling process |
Java binding of the MPI operation MPI_CART_MAP.
The number of dimensions is taken to be size of the dims argument.
MPIException
public CartParms Get() throws MPIException
returns: | object containing dimensions, periods and local coordinates |
Java binding of the MPI operations MPI_CARTDIM_GET and MPI_CART_GET.
The number of dimensions can be obtained from the size of (eg) dims field of the returned object.
MPIException
public int Topo_test() throws MPIException
Comm
returns: | topology type of communicator |
Java binding of the MPI operation MPI_TOPO_TEST.
The return value will be one of MPI.GRAPH, MPI.CART or MPI.UNDEFINED.
Topo_test
in class Comm
MPIException
public static void Dims_create(int nnodes, int[] dims) throws MPIException
nnodes | number of nodes in a grid |
ndims | number of dimensions of grid |
dims | array specifying the number of nodes in each dimension |
Java binding of the MPI operation MPI_DIMS_CREATE.
Size dims should be ndims. Note that dims is an inout parameter.
MPIException