handle, MPI_COMM_NULL_VAL
Modifier and Type | Method and Description |
---|---|
void |
allGather(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvcount,
Datatype recvtype)
Similar to
Gather , but all processes receive the result. |
void |
allGatherv(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int[] recvcount,
int[] displs,
Datatype recvtype)
Similar to
Gatherv , but all processes receive the result. |
void |
allReduce(java.lang.Object sendbuf,
java.lang.Object recvbuf,
int count,
Datatype datatype,
Op op)
Same as
reduce except that the result appears in receive buffer of all process in the
group. |
void |
allToAll(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvcount,
Datatype recvtype)
Extension of
Allgather to the case where each process sends distinct data to each of
the receivers. |
void |
allToAllv(java.lang.Object sendbuf,
int[] sendcount,
int[] sdispls,
Datatype sendtype,
java.lang.Object recvbuf,
int[] recvcount,
int[] rdispls,
Datatype recvtype)
Adds flexibility to
Alltoall : location of data for send is specified by
sdispls and location to place data on receive side is specified by rdispls . |
void |
barrier()
A call to
Barrier blocks the caller until all process in the group have called it. |
void |
bcast(java.lang.Object buf,
int count,
Datatype type,
int root)
Broadcast a message from the process with rank root to all processes of the group.
|
Intracomm |
clone()
Duplicate this communicator.
|
Intracomm |
create(Group group)
Create a new communicator.
|
Cartcomm |
createCart(int[] dims,
boolean[] periods,
boolean reorder)
Create a Cartesian topology communicator whose group is a subset of the group of this
communicator.
|
Graphcomm |
createGraph(int[] index,
int[] edges,
boolean reorder)
Create a graph topology communicator whose group is a subset of the group of this communicator.
|
Intracomm |
createGroup(Group group,
int tag)
Create a new intracommunicator for the given group.
|
void |
gather(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvcount,
Datatype recvtype,
int root)
Each process sends the contents of its send buffer to the root process.
|
void |
gatherv(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int[] recvcount,
int[] displs,
Datatype recvtype,
int root)
Extends functionality of Gather by allowing varying counts of data from each process.
|
void |
nativeGatherv(long commHandle,
java.nio.Buffer sendbuf,
int count,
int datatype,
java.nio.Buffer recvbuf,
int[] recvcount,
int recvtype,
int[] displs,
int root) |
void |
reduce(java.lang.Object sendbuf,
java.lang.Object recvbuf,
int count,
Datatype datatype,
Op op,
int root)
Combine elements in input buffer of each process using the reduce operation, and return the
combined value in the output buffer of the root process.
|
void |
reduceScatter(java.lang.Object sendbuf,
java.lang.Object recvbuf,
int[] recvcounts,
Datatype datatype,
Op op)
Combine elements in input buffer of each process using the reduce operation, and scatter the
combined values over the output buffers of the processes.
|
void |
scan(java.lang.Object sendbuf,
java.lang.Object recvbuf,
int count,
Datatype datatype,
Op op)
Perform a prefix reduction on data distributed across the group.
|
void |
scatter(java.lang.Object sendbuf,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvcount,
Datatype recvtype,
int root)
Inverse of the operation
Gather . |
void |
scatterv(java.lang.Object sendbuf,
int[] sendcount,
int[] displs,
Datatype sendtype,
java.lang.Object recvbuf,
int recvcount,
Datatype recvtype,
int root)
Inverse of the operation
Gatherv . |
Intracomm |
split(int color,
int key)
Partition the group associated with this communicator and create a new communicator within each
subgroup.
|
Abort, bSend, bSendInit, compare, create, createIntercomm, deleteAttr, free, getAttr, getGroup, getRank, getSize, getTopology, ibSend, iProbe, iRecv, irSend, iSend, isInter, isNull, isSend, pack, packSize, probe, recv, recvInit, rSend, rSendInit, send, sendInit, sendRecv, sendRecvReplace, spawn, spawnMultiple, sSend, sSendInit, unpack
public Intracomm split(int color, int key) throws MPIException
color
- control of subset assignment.key
- control of rank assignment.MPI_COMM_SPLIT
.MPIException
- Points out that an MPI exception has occured.public Intracomm clone() throws MPIException
clone
in class Comm
MPI_COMM_DUP
.
The new communicator is ``congruent'' to the old one, but has a different context.MPIException
- Points out that an MPI exception has occured.public Intracomm create(Group group) throws MPIException
group
- group which is a subset of the group of this communicator.MPI_COMM_CREATE
.MPIException
- Points out that an MPI exception has occured.public void barrier() throws MPIException
Barrier
blocks the caller until all process in the group have called it.
Java binding of the MPI operation MPI_BARRIER
.MPIException
public void bcast(java.lang.Object buf, int count, Datatype type, int root) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.BOOLEAN
, MPI.INT
, MPI.LONG
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
buf
- buffer array.count
- number of items in buffer.type
- datatype of each item in buffer.root
- rank of broadcast root.
Java binding of the MPI operation MPI_BCAST
.
MPIException
- Points out that an MPI exception has occured.public void gather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.BOOLEAN
, MPI.INT
, MPI.LONG
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.recvtype
- datatype of each item in receive buffer.root
- rank of receiving process.
Java binding of the MPI operation MPI_GATHER
.
MPIException
- Points out that an MPI exception has occured.public void gatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.BOOLEAN
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of elements received from each process.displs
- displacements at which to place incoming data.recvtype
- datatype of each item in receive buffer.root
- rank of receiving process.
Java binding of the MPI operation MPI_GATHERV
.
The sizes of arrays recvcount
and displs
should be the size of the group.
Entry i
of displs
specifies the displacement relative to element
recvoffset
of recvbuf
at which to place incoming data.
MPIException
- Points out that an MPI exception has occured.public void scatter(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Gather
.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.BOOLEAN
, MPI.INT
, MPI.LONG
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.recvtype
- datatype of each item in receive buffer.root
- rank of sending process.
Java binding of the MPI operation MPI_SCATTER
.
MPIException
- Points out that an MPI exception has occured.public void scatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Gatherv
.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.BOOLEAN
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.displs
- displacements from which to take outgoing data.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.recvtype
- datatype of each item in receive buffer.root
- rank of sending process.
Java binding of the MPI operation MPI_SCATTERV
.
MPIException
- Points out that an MPI exception has occured.public void allGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Gather
, but all processes receive the result.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.BOOLEAN
, MPI.INT
, MPI.LONG
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.recvtype
- datatype of each item in receive buffer.
Java binding of the MPI operation MPI_ALLGATHER
.
MPIException
- Points out that an MPI exception has occured.public void allGatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Gatherv
, but all processes receive the result.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
,
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.BOOLEAN
,
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.displs
- displacements at which to place incoming data.recvtype
- datatype of each item in receive buffer.
Java binding of the MPI operation MPI_ALLGATHERV
.
MPIException
- Points out that an MPI exception has occured.public void allToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Allgather
to the case where each process sends distinct data to each of
the receivers.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.BOOLEAN
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.CHAR
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.recvtype
- datatype to receive buffer items.
Java binding of the MPI operation MPI_ALLTOALL
.
MPIException
- Points out that an MPI exception has occured.public void allToAllv(java.lang.Object sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype) throws MPIException
Alltoall
: location of data for send is specified by
sdispls
and location to place data on receive side is specified by rdispls
.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.CHAR
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.BOOLEAN
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.sendcount
- number of items to send.sdispls
- displacements from which to take outgoing data.sendtype
- datatype of each item in send buffer.recvbuf
- receive buffer array.recvcount
- number of items to receive.rdispls
- displacements at which to place incoming data.recvtype
- datatype to receive buffer items.
Java binding of the MPI operation MPI_ALLTOALLV
.
MPIException
- Points out that an MPI exception has occured.public void reduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype datatype, Op op, int root) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.BOOLEAN
,
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.CHAR
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.recvbuf
- receive buffer array.count
- number of items in send buffer.datatype
- datatype of each item in send buffer.op
- reduce operation.root
- rank of root process.
Java binding of the MPI operation MPI_REDUCE
.
The predefined operations are available in Java as MPI.MAX
, MPI.MIN
,
MPI.SUM
, MPI.PROD
, MPI.LAND
, MPI.BAND
, MPI.LOR
,
MPI.BOR
, MPI.LXOR
, MPI.BXOR
, MPI.MINLOC
and
MPI.MAXLOC
.
MPIException
- Points out that an MPI exception has occured.public void allReduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype datatype, Op op) throws MPIException
reduce
except that the result appears in receive buffer of all process in the
group.
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.BYTE
, MPI.BOOLEAN
,
MPI.SHORT
, MPI.INT
, MPI.LONG
, MPI.CHAR
MPI.FLOAT
, and MPI.DOUBLE
are supported. For ByteBuffers,
the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.recvbuf
- receive buffer array.count
- number of items in send buffer.datatype
- datatype of each item in send buffer.op
- reduce operation.
Java binding of the MPI operation MPI_ALLREDUCE
.
MPIException
- Points out that an MPI exception has occured.public void reduceScatter(java.lang.Object sendbuf, java.lang.Object recvbuf, int[] recvcounts, Datatype datatype, Op op) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.SHORT
, MPI.INT
,
MPI.BOOLEAN
, MPI.CHAR
, MPI.BYTE
,
MPI.LONG
, MPI.FLOAT
, and MPI.DOUBLE
are supported.
For ByteBuffers, the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.recvbuf
- receive buffer array.recvcounts
- numbers of result elements distributed to each process.datatype
- datatype of each item in send buffer.op
- reduce operation.
Java binding of the MPI operation MPI_REDUCE_SCATTER
.
MPIException
- Points out that an MPI exception has occured.public void scan(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype datatype, Op op) throws MPIException
The method supports communication of both ByteBuffers
and Java
arrays. For arrays, the datatypes MPI.SHORT
, MPI.INT
,
MPI.BOOLEAN
, MPI.CHAR
, MPI.BYTE
,
MPI.LONG
, MPI.FLOAT
, and MPI.DOUBLE
are supported.
For ByteBuffers, the datatypes we currently support are MPI.BYTE
.
sendbuf
- send buffer array.recvbuf
- receive buffer array.count
- number of items in input buffer.datatype
- datatype of each item in send buffer.op
- reduce operations.
Java binding of the MPI operation MPI_SCAN
.
MPIException
- Points out that an MPI exception has occured.public Cartcomm createCart(int[] dims, boolean[] periods, boolean reorder) throws MPIException
Not Implemented in the current release
.dims
- the number of processes in each dimension.periods
- true
if grid is periodic in each dimension,
otherwise false
.reorder
- true
if ranking may be reordered, false
, false
if not.Java binding of the MPI operation MPI_CART_CREATE
.
The number of dimensions of the Cartesian grid is taken to be the size of the dims
argument. The array periods
must be the same size.
MPIException
- Points out that an MPI exception has occured.public Graphcomm createGraph(int[] index, int[] edges, boolean reorder) throws MPIException
Not Implemented in the current release
.index
- node degrees.edges
- graph edges.reorder
- true
if ranking may be reordered, false
, false
if not.Java binding of the MPI operation MPI_GRAPH_CREATE
.
The number of nodes in the graph, nnodes
, is taken to be size of the index
argument. The size of array edges
must be index [nnodes
- 1]}.
MPIException
public Intracomm createGroup(Group group, int tag) throws MPIException
group
- group which is a subset of the group of this communicatortag
- an integer tag
Java binding of the MPI operation MPI_COMM_CREATE_GROUP
.
MPIException
- Points out that an MPI exception has occured.public void nativeGatherv(long commHandle, java.nio.Buffer sendbuf, int count, int datatype, java.nio.Buffer recvbuf, int[] recvcount, int recvtype, int[] displs, int root)