mpi
Class Cartcomm

java.lang.Object
  extended by mpi.Comm
      extended by mpi.Intracomm
          extended by mpi.Cartcomm

public class Cartcomm
extends Intracomm


Field Summary
 
Fields inherited from class mpi.Comm
group, mpjdevComm
 
Method Summary
 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.
 
Methods inherited from class mpi.Intracomm
Allgather, Allgatherv, Allreduce, Alltoall, Alltoallv, Barrier, Bcast, Create_cart, Create_graph, Create, Gather, Gatherv, Reduce_scatter, Reduce, Scan, Scatter, Scatterv, Split
 
Methods inherited from class mpi.Comm
Abort, Attr_delete, Attr_get, Bsend_init, Bsend, bsend, Compare, 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
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

clone

public java.lang.Object clone()
                       throws MPIException
Description copied from class: Intracomm
Clone the communicator This method will be called only by intracommunicator .... changed the return value to Intracomm ...(instead of Object) ...

Overrides:
clone in class Intracomm
Throws:
MPIException

Rank

public int Rank(int[] coords)
         throws MPIException
Translate logical process coordinates to process rank.

coords Cartesian coordinates of a process
returns: rank of the specified process

Java binding of the MPI operation MPI_CART_RANK.

Throws:
MPIException

Coords

public int[] Coords(int rank)
             throws MPIException
Translate process rank to logical process coordinates.

rank rank of a process
returns: Cartesian coordinates of the specified process

Java binding of the MPI operation MPI_CART_COORDS.

Throws:
MPIException

Shift

public ShiftParms Shift(int direction,
                        int disp)
                 throws MPIException
Compute source and destination ranks for ``shift'' communication.

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.

Throws:
MPIException

Sub

public Cartcomm Sub(boolean[] remain_dims)
             throws MPIException
Partition Cartesian communicator into subgroups of lower dimension.

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.

Throws:
MPIException

Map

public int Map(int[] dims,
               boolean[] periods)
        throws MPIException
Compute an optimal placement.

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.

Throws:
MPIException

Get

public CartParms Get()
              throws MPIException
Returns Cartesian topology information.

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.

Throws:
MPIException

Topo_test

public int Topo_test()
              throws MPIException
Description copied from class: Comm
Returns the type of topology associated with the communicator.

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.

Overrides:
Topo_test in class Comm
Throws:
MPIException

Dims_create

public static void Dims_create(int nnodes,
                               int[] dims)
                        throws MPIException
Select a balanced distribution of processes per coordinate direction.

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.

Throws:
MPIException