: Class Comm

Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## mpi
Class Comm

    java.lang.Object
      |
      +--mpi.Comm

Direct Known Subclasses:
  Intercomm, Intracomm

public class Comm
extends java.lang.Object

Field Summary
`protected long` | `handle`
`protected static long` | `nullHandle`
`protected static int` | `SELF`
`protected static int` | `WORLD`

Constructor Summary
`protected` | `Comm(int Type)`
`protected` | `Comm(long handle)`

Method Summary
`void` | `Abort(int errorcode)` Abort MPI.
`int` | `Attr_get(int keyval)` Retrieves attribute value by key.
`Prequest` | `Bsend_init(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Creates a persistent communication request for a buffered mode send.
`void` | `Bsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Send in buffered mode.
`java.lang.Object` | `clone()` Duplicate this communicator.
`static int` | `Compare(Comm comm1, Comm comm2)` Compare two communicators.
`Intercomm` | `Create_intercomm(Comm local_comm, int local_leader, int remote_leader, int tag)` Create an inter-communicator.
`protected long` | `dup()`
`void` | `Errhandler_set(Errhandler errhandler)` Associates a new error handler with communicator at the calling process.
`Errhandler` | `Errorhandler_get()` Returns the error handler currently associated with the communicator.
`void` | `Free()` Destroy this communicator.
`long` | `GetIntercomm(Comm local_comm, int local_leader, int remote_leader, int tag)`
`Group` | `Group()`
`Request` | `Ibsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Start a buffered mode, nonblocking send.
`protected Request` | `Ibsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag, Request req)` Protected member used internally by `Prequest.Start`
`Status` | `Iprobe(int source, int tag)` Check if there is an incoming message matching the pattern specified.
`Request` | `Irecv(java.lang.Object buf, int offset, int count, Datatype type, int source, int tag)` Start a nonblocking receive.
`Request` | `Irsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Start a ready mode, nonblocking send.
`protected Request` | `Irsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag, Request req)` Protected member used internally by `Prequest.Start`
`boolean` | `Is_null()` Test if communicator object is void (has been freed).
`Request` | `Isend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Start a standard mode, nonblocking send.
`protected Request` | `Isend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag, Request req)` Protected member used internally by `Prequest.Start`
`Request` | `Issend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Start a synchronous mode, nonblocking send.
`protected Request` | `Issend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag, Request req)` Protected member used internally by `Prequest.Start`
`void` | `Object_Deserialize(java.lang.Object buf, byte[] byte_buf, int offset, int count, Datatype type)`
`byte[]` | `Object_Serialize(java.lang.Object buf, int offset, int count, Datatype type)`
`int` | `Pack_size(int incount, Datatype datatype)` Returns an upper bound on the increment of `position` effected by `pack`.
`int` | `Pack(java.lang.Object inbuf, int offset, int incount, Datatype datatype, byte[] outbuf, int position)` Packs message in send buffer `inbuf` into space specified in `outbuf`.
`Status` | `Probe(int source, int tag)` Wait until there is an incoming message matching the pattern specified.
`int` | `Rank()` Rank of this process in group of this communicator.
`Prequest` | `Recv_init(java.lang.Object buf, int offset, int count, Datatype type, int source, int tag)` Creates a persistent communication request for a receive operation.
`Status` | `Recv(java.lang.Object buf, int offset, int count, Datatype type, int source, int tag)` Blocking receive operation.
`Prequest` | `Rsend_init(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Creates a persistent communication request for a ready mode send.
`void` | `Rsend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Send in ready mode.
`Prequest` | `Send_init(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Creates a persistent communication request for a standard mode send.
`void` | `Send(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Blocking send operation.
`Status` | `Sendrecv_replace(java.lang.Object buf, int offset, int count, Datatype type, int dest, int sendtag, int source, int recvtag)` Execute a blocking send and receive operation, receiving message into send buffer.
`Status` | `Sendrecv(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, int dest, int sendtag, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype, int source, int recvtag)` Execute a blocking send and receive operation.
`int` | `Size()` Size of group of this communicator.
`Prequest` | `Ssend_init(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Creates a persistent communication request for a synchronous mode send.
`void` | `Ssend(java.lang.Object buf, int offset, int count, Datatype type, int dest, int tag)` Send in synchronous mode.
`boolean` | `Test_inter()` Test if this communicator is an inter-communicator.
`int` | `Topo_test()` Returns the type of topology associated with the communicator.
`int` | `Unpack(byte[] inbuf, int position, java.lang.Object outbuf, int offset, int outcount, Datatype datatype)` Unpacks message in receive buffer `outbuf` into space specified in `inbuf`.

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### SELF

    protected static final int SELF

### WORLD

    protected static final int WORLD

### nullHandle

    protected static long nullHandle

### handle

    protected long handle

Constructor Detail

### Comm

    protected Comm(int Type)

### Comm

    protected Comm(long handle)

Method Detail

### clone

    public java.lang.Object clone()

  Duplicate this communicator.

  returns: | copy of this communicator

  Java binding of the MPI operation `MPI_COMM_DUP`.

  The new communicator is ``congruent'' to the old one, but has a different context.

  Overrides:
    clone in class java.lang.Object

### dup

    protected long dup()

### Size

    public int Size()
             throws MPIException

  Size of group of this communicator.

  returns: | number of processors in the group of this communicator

  Java binding of the MPI operation `MPI_COMM_SIZE`.

### Rank

    public int Rank()
             throws MPIException

  Rank of this process in group of this communicator.

  returns: | rank of the calling process in the group of this communicator

  Java binding of the MPI operation `MPI_COMM_RANK`.

### Compare

    public static int Compare(Comm comm1,
                              Comm comm2)
                       throws MPIException

  Compare two communicators.

  `comm1` | first communicator
  `comm2` | second communicator
  returns: | result

  Java binding of the MPI operation `MPI_COMM_COMPARE`.

  `MPI.IDENT` results if the `comm1` and `comm2` are references to the same object (ie, if `comm1 == comm2`). `MPI.CONGRUENT` results if the underlying groups are identical but the communicators differ by context. `MPI.SIMILAR` results if the underlying groups are similar but the communicators differ by context. `MPI.UNEQUAL` results otherwise.

### Free

    public void Free()
              throws MPIException

  Destroy this communicator.

  Java binding of the MPI operation `MPI_COMM_FREE`.

### Is_null

    public boolean Is_null()

  Test if communicator object is void (has been freed).

  returns: | true if the comm object is void, false otherwise

### Group

    public Group Group()

### Test_inter

    public boolean Test_inter()
                       throws MPIException

  Test if this communicator is an inter-communicator.

  returns: | `true` if this is an inter-communicator, `false` otherwise

  Java binding of the MPI operation `MPI_COMM_TEST_INTER`.

### Create_intercomm

    public Intercomm Create_intercomm(Comm local_comm,
                                      int local_leader,
                                      int remote_leader,
                                      int tag)
                               throws MPIException

  Create an inter-communicator.

  `local_comm` | local intra-communicator
  `local_leader` | rank of local group leader in `localComm`
  `remote_leader` | rank of remote group leader in this communictor
  `tag` | ``safe'' tag
  returns: | new inter-communicator

  Java binding of the MPI operation `MPI_INTERCOMM_CREATE`.

  (This operation is defined as a method on the ``peer communicator'', making it analogous to a `send` or `recv` communication with the remote group leader.)

### GetIntercomm

    public long GetIntercomm(Comm local_comm,
                             int local_leader,
                             int remote_leader,
                             int tag)

### Object_Serialize

    public byte[] Object_Serialize(java.lang.Object buf,
                                   int offset,
                                   int count,
                                   Datatype type)
                            throws MPIException

### Object_Deserialize

    public void Object_Deserialize(java.lang.Object buf,
                                   byte[] byte_buf,
                                   int offset,
                                   int count,
                                   Datatype type)
                            throws MPIException

### Send

    public void Send(java.lang.Object buf,
                     int offset,
                     int count,
                     Datatype type,
                     int dest,
                     int tag)
              throws MPIException

  Blocking send operation.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag

  Java binding of the MPI operation `MPI_SEND`.

  The actual argument associated with `buf` must be one-dimensional array. The value `offset` is a subscript in this array, defining the position of the first item of the message.

  If the `datatype` argument represents an MPI basic type, its value must agree with the element type of `buf`---either a primitive type or a reference (object) type. If the `datatype` argument represents an MPI derived type, its base type must agree with the element type of `buf`

### Recv

    public Status Recv(java.lang.Object buf,
                       int offset,
                       int count,
                       Datatype type,
                       int source,
                       int tag)
                throws MPIException

  Blocking receive operation.

  `buf` | receive buffer array
  `offset` | initial offset in receive buffer
  `count` | number of items in receive buffer
  `datatype` | datatype of each item in receive buffer
  `source` | rank of source
  `tag` | message tag
  returns: | status object

  Java binding of the MPI operation `MPI_RECV`.

  The actual argument associated with `buf` must be one-dimensional array. The value `offset` is a subscript in this array, defining the position into which the first item of the incoming message will be copied.

  If the `datatype` argument represents an MPI basic type, its value must agree with the element type of `buf`---either a primitive type or a reference (object) type. If the `datatype` argument represents an MPI derived type, its base type must agree with the element type of `buf`

### Sendrecv

    public Status Sendrecv(java.lang.Object sendbuf,
                           int sendoffset,
                           int sendcount,
                           Datatype sendtype,
                           int dest,
                           int sendtag,
                           java.lang.Object recvbuf,
                           int recvoffset,
                           int recvcount,
                           Datatype recvtype,
                           int source,
                           int recvtag)
                    throws MPIException

  Execute a blocking send and receive operation.

  `sendbuf` | send buffer array
  `sendoffset` | initial offset in send buffer
  `sendcount` | number of items to send
  `sendtype` | datatype of each item in send buffer
  `dest` | rank of destination
  `sendtag` | send tag
  `recvbuf` | receive buffer array
  `recvoffset` | initial offset in receive buffer
  `recvcount` | number of items in receive buffer
  `recvtype` | datatype of each item in receive buffer
  `source` | rank of source
  `recvtag` | receive tag
  returns: | status object

  Java binding of the MPI operation `MPI_SENDRECV`.

  Further comments as for `Send` and `Recv`.

### Sendrecv_replace

    public Status Sendrecv_replace(java.lang.Object buf,
                                   int offset,
                                   int count,
                                   Datatype type,
                                   int dest,
                                   int sendtag,
                                   int source,
                                   int recvtag)
                            throws MPIException

  Execute a blocking send and receive operation, receiving message into send buffer.

  `buf` | buffer array
  `offset` | initial offset in buffer
  `count` | number of items to send
  `type` | datatype of each item in buffer
  `dest` | rank of destination
  `sendtag` | send tag
  `source` | rank of source
  `recvtag` | receive tag
  returns: | status object

  Java binding of the MPI operation `MPI_SENDRECV_REPLACE`.

  Further comments as for `Send` and `Recv`.

### Bsend

    public void Bsend(java.lang.Object buf,
                      int offset,
                      int count,
                      Datatype type,
                      int dest,
                      int tag)
               throws MPIException

  Send in buffered mode.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag

  Java binding of the MPI operation `MPI_BSEND`.

  Further comments as for `Send`.

### Ssend

    public void Ssend(java.lang.Object buf,
                      int offset,
                      int count,
                      Datatype type,
                      int dest,
                      int tag)
               throws MPIException

  Send in synchronous mode.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag

  Java binding of the MPI operation `MPI_SSEND`.

  Further comments as for `Send`.

### Rsend

    public void Rsend(java.lang.Object buf,
                      int offset,
                      int count,
                      Datatype type,
                      int dest,
                      int tag)
               throws MPIException

  Send in ready mode.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag

  Java binding of the MPI operation `MPI_RSEND`.

  Further comments as for `Send`.

### Isend

    public Request Isend(java.lang.Object buf,
                         int offset,
                         int count,
                         Datatype type,
                         int dest,
                         int tag)
                  throws MPIException

  Start a standard mode, nonblocking send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_ISEND`.

  Further comments as for `Send`.

### Isend

    protected Request Isend(java.lang.Object buf,
                            int offset,
                            int count,
                            Datatype type,
                            int dest,
                            int tag,
                            Request req)

  Protected member used internally by `Prequest.Start`

### Ibsend

    public Request Ibsend(java.lang.Object buf,
                          int offset,
                          int count,
                          Datatype type,
                          int dest,
                          int tag)
                   throws MPIException

  Start a buffered mode, nonblocking send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_IBSEND`.

  Further comments as for `Send`.

### Ibsend

    protected Request Ibsend(java.lang.Object buf,
                             int offset,
                             int count,
                             Datatype type,
                             int dest,
                             int tag,
                             Request req)

  Protected member used internally by `Prequest.Start`

### Issend

    public Request Issend(java.lang.Object buf,
                          int offset,
                          int count,
                          Datatype type,
                          int dest,
                          int tag)
                   throws MPIException

  Start a synchronous mode, nonblocking send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_ISSEND`.

  Further comments as for `Send`.

### Issend

    protected Request Issend(java.lang.Object buf,
                             int offset,
                             int count,
                             Datatype type,
                             int dest,
                             int tag,
                             Request req)

  Protected member used internally by `Prequest.Start`

### Irsend

    public Request Irsend(java.lang.Object buf,
                          int offset,
                          int count,
                          Datatype type,
                          int dest,
                          int tag)
                   throws MPIException

  Start a ready mode, nonblocking send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_IRSEND`.

  Further comments as for `Send`.

### Irsend

    protected Request Irsend(java.lang.Object buf,
                             int offset,
                             int count,
                             Datatype type,
                             int dest,
                             int tag,
                             Request req)

  Protected member used internally by `Prequest.Start`

### Irecv

    public Request Irecv(java.lang.Object buf,
                         int offset,
                         int count,
                         Datatype type,
                         int source,
                         int tag)
                  throws MPIException

  Start a nonblocking receive.

  `buf` | receive buffer array
  `offset` | initial offset in receive buffer
  `count` | number of items in receive buffer
  `datatype` | datatype of each item in receive buffer
  `source` | rank of source
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_IRECV`.

  Further comments as for `Recv`.

### Send_init

    public Prequest Send_init(java.lang.Object buf,
                              int offset,
                              int count,
                              Datatype type,
                              int dest,
                              int tag)
                       throws MPIException

  Creates a persistent communication request for a standard mode send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | persistent communication request

  Java binding of the MPI operation `MPI_SEND_INIT`.

  Further comments as for `Send`.

### Bsend_init

    public Prequest Bsend_init(java.lang.Object buf,
                               int offset,
                               int count,
                               Datatype type,
                               int dest,
                               int tag)
                        throws MPIException

  Creates a persistent communication request for a buffered mode send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | persistent communication request

  Java binding of the MPI operation `MPI_BSEND_INIT`.

  Further comments as for `Send`.

### Ssend_init

    public Prequest Ssend_init(java.lang.Object buf,
                               int offset,
                               int count,
                               Datatype type,
                               int dest,
                               int tag)
                        throws MPIException

  Creates a persistent communication request for a synchronous mode send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | persistent communication request

  Java binding of the MPI operation `MPI_SSEND_INIT`.

  Further comments as for `Send`.

### Rsend_init

    public Prequest Rsend_init(java.lang.Object buf,
                               int offset,
                               int count,
                               Datatype type,
                               int dest,
                               int tag)
                        throws MPIException

  Creates a persistent communication request for a ready mode send.

  `buf` | send buffer array
  `offset` | initial offset in send buffer
  `count` | number of items to send
  `datatype` | datatype of each item in send buffer
  `dest` | rank of destination
  `tag` | message tag
  returns: | persistent communication request

  Java binding of the MPI operation `MPI_RSEND_INIT`.

  Further comments as for `Send`.

### Recv_init

    public Prequest Recv_init(java.lang.Object buf,
                              int offset,
                              int count,
                              Datatype type,
                              int source,
                              int tag)
                       throws MPIException

  Creates a persistent communication request for a receive operation.

  `buf` | receive buffer array
  `offset` | initial offset in receive buffer
  `count` | number of items in receive buffer
  `datatype` | datatype of each item in receive buffer
  `source` | rank of source
  `tag` | message tag
  returns: | communication request

  Java binding of the MPI operation `MPI_RECV_INIT`.

  Further comments as for `Recv`.

### Pack

    public int Pack(java.lang.Object inbuf,
                    int offset,
                    int incount,
                    Datatype datatype,
                    byte[] outbuf,
                    int position)
             throws MPIException

  Packs message in send buffer `inbuf` into space specified in `outbuf`.

  `inbuf` | input buffer array
  `offset` | initial offset in input buffer
  `incount` | number of items in input buffer
  `datatype` | datatype of each item in input buffer
  `outbuf` | output buffer
  `position` | initial position in output buffer
  returns: | final position in output buffer

  Java binding of the MPI operation `MPI_PACK`.

  The return value is the output value of `position` - the inital value incremented by the number of bytes written.

### Unpack

    public int Unpack(byte[] inbuf,
                      int position,
                      java.lang.Object outbuf,
                      int offset,
                      int outcount,
                      Datatype datatype)
               throws MPIException

  Unpacks message in receive buffer `outbuf` into space specified in `inbuf`.

  `inbuf` | input buffer
  `position` | initial position in input buffer
  `outbuf` | output buffer array
  `offset` | initial offset in output buffer
  `outcount` | number of items in output buffer
  `datatype` | datatype of each item in output buffer
  returns: | final position in input buffer

  Java binding of the MPI operation `MPI_UNPACK`.

  The return value is the output value of `position` - the inital value incremented by the number of bytes read.

### Pack_size

    public int Pack_size(int incount,
                         Datatype datatype)
                  throws MPIException

  Returns an upper bound on the increment of `position` effected by `pack`.

  `incount` | number of items in input buffer
  `datatype` | datatype of each item in input buffer
  returns: | upper bound on size of packed message

  Java binding of the MPI operation `MPI_PACK_SIZE`.

  It is an error to call this function if the base type of `datatype` is `MPI.OBJECT`.

### Iprobe

    public Status Iprobe(int source,
                         int tag)
                  throws MPIException

  Check if there is an incoming message matching the pattern specified.

  `source` | rank of source
  `tag` | message tag
  returns: | status object or null handle

  Java binding of the MPI operation `MPI_IPROBE`.

  If such a message is currently available, a status object similar to the return value of a matching `Recv` operation is returned. Otherwise a null handle is returned.

### Probe

    public Status Probe(int source,
                        int tag)
                 throws MPIException

  Wait until there is an incoming message matching the pattern specified.

  `source` | rank of source
  `tag` | message tag
  returns: | status object

  Java binding of the MPI operation `MPI_PROBE`.

  Returns a status object similar to the return value of a matching `Recv` operation.

### Attr_get

    public int Attr_get(int keyval)
                 throws MPIException

  Retrieves attribute value by key.

  `keyval` | one of the key values predefined by the implementation
  returns: | attribute value

  Java binding of the MPI operation `MPI_ATTR_GET`.

### Topo_test

    public int Topo_test()
                  throws MPIException

  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`.

### Abort

    public void Abort(int errorcode)
               throws MPIException

  Abort MPI.

  `errorcode` | error code for Unix or POSIX environments

  Java binding of the MPI operation `MPI_ABORT`.

### Errhandler_set

    public void Errhandler_set(Errhandler errhandler)
                        throws MPIException

  Associates a new error handler with communicator at the calling process.

  `errhandler` | new MPI error handler for communicator

  Java binding of the MPI operation `MPI_ERRORHANDLER_SET`.

### Errorhandler_get

    public Errhandler Errorhandler_get()
                                throws MPIException

  Returns the error handler currently associated with the communicator.

  returns: | MPI error handler currently associated with communicator

  Java binding of the MPI operation `MPI_ERRORHANDLER_GET`.

Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD