ibis.mpj
Class Cartcomm

java.lang.Object
  extended by ibis.mpj.Comm
      extended by ibis.mpj.Intracomm
          extended by ibis.mpj.Cartcomm

public class Cartcomm
extends Intracomm

Communicator for virtual cartesian topologies.


Method Summary
 Object clone()
           NOT IMPLEMENTED YET.
 int[] coords(int rank)
           NOT IMPLEMENTED YET.
static void dimsCreate(int nnodes, int[] dims)
           NOT IMPLEMENTED YET.
 CartParms get()
           NOT IMPLEMENTED YET.
 int map(int[] dims, boolean[] periods)
           NOT IMPLEMENTED YET.
 int rank(int[] coords)
           NOT IMPLEMENTED YET.
 ShiftParms shift(int direction, int disp)
           NOT IMPLEMENTED YET.
 Cartcomm sub(boolean[] remainDims)
           NOT IMPLEMENTED YET.
 
Methods inherited from class ibis.mpj.Intracomm
allgather, allgatherv, allreduce, alltoall, alltoallv, barrier, bcast, create, createCart, createGraph, gather, gatherv, reduce, reduceScatter, scan, scatter, scatterv, split
 
Methods inherited from class ibis.mpj.Comm
abort, attrGet, bsend, bsendInit, compare, createIntercomm, free, group, ibsend, iprobe, irecv, irsend, isend, issend, pack, pack, packSize, probe, rank, recv, recvInit, rsend, rsendInit, send, sendInit, sendrecv, sendrecvReplace, size, ssend, ssendInit, testInter, topoTest, unpack
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

clone

public Object clone()
NOT IMPLEMENTED YET.

Overrides:
clone in class Intracomm
Returns:
copy of this communicator
See Also:
Object.clone()

dimsCreate

public static void dimsCreate(int nnodes,
                              int[] dims)
                       throws MPJException
NOT IMPLEMENTED YET. Select a balanced distribution of processes per coordinate direction. Number of dimensions ist the size of dims. Note that dims is an inout parameter.

Parameters:
nnodes - number of nodes in a grid
dims - array of Cartesian dimensions
Throws:
MPJException

get

public CartParms get()
              throws MPJException
NOT IMPLEMENTED YET. Returns Cartesian topology information. The number of dimensions can be obtained from the size of (eg) the dims array.

Returns:
cartparms object
Throws:
MPJException

rank

public int rank(int[] coords)
         throws MPJException
NOT IMPLEMENTED YET. Translate logical process coordinates to process rank.

Parameters:
coords - Cartesian coordinates of a process
Returns:
rank of the specified process
Throws:
MPJException

coords

public int[] coords(int rank)
             throws MPJException
NOT IMPLEMENTED YET. Translate process rank to logical proces coordinates.

Parameters:
rank - rank of a process
Returns:
Cartesian coordinates of the specified process
Throws:
MPJException

shift

public ShiftParms shift(int direction,
                        int disp)
                 throws MPJException
NOT IMPLEMENTED YET. Compute source and destination ranks for "shift" communication.

Parameters:
direction - coordinate dimension of shift
disp - displacement
Returns:
shiftparms object
Throws:
MPJException

sub

public Cartcomm sub(boolean[] remainDims)
             throws MPJException
NOT IMPLEMENTED YET. Partition Cartesian communicator into subgroups of lower dimension.

Parameters:
remainDims - by dimension, true if dimension is to be kept, false otherwise
Returns:
communicator containing subgrid including this process
Throws:
MPJException

map

public int map(int[] dims,
               boolean[] periods)
        throws MPJException
NOT IMPLEMENTED YET. Comput an optimal placement. The number of dimensions is taken to be size of the dims argument.

Parameters:
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
Throws:
MPJException


The Ibis project