Class Comm
- java.lang.Object
-
- mpi.Comm
-
-
Field Summary
Fields Modifier and Type Field Description protected long
handle
protected static int
SELF
static int
TYPE_SHARED
protected static int
WORLD
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort(int errorcode)
Abort MPI.void
allGather(java.lang.Object buf, int count, Datatype type)
Similar togather
, but all processes receive the result.void
allGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)
Similar togather
, but all processes receive the result.void
allGatherv(java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype)
Similar togatherv
, 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 togatherv
, but all processes receive the result.void
allReduce(java.lang.Object buf, int count, Datatype type, Op op)
Same asreduce
except that the result appears in receive buffer of all process in the group.void
allReduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype type, Op op)
Same asreduce
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 ofallGather
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 toallToAll
: location of data for send is specified bysdispls
and location to place data on receive side is specified byrdispls
.void
allToAllw(java.lang.Object sendBuf, int[] sendCount, int[] sDispls, Datatype[] sendTypes, java.lang.Object recvBuf, int[] recvCount, int[] rDispls, Datatype[] recvTypes)
Adds more flexibility toallToAllv
: datatypes for send are specified bysendTypes
and datatypes for receive are specified byrecvTypes
per process.void
barrier()
A call tobarrier
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 rankroot
to all processes of the group.void
bSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)
Send in buffered mode.Prequest
bSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Creates a persistent communication request for a buffered mode send.void
callErrhandler(int errorCode)
Calls the error handler currently associated with the communicator.Comm
clone()
Duplicates this communicator.static int
compare(Comm comm1, Comm comm2)
Compare two communicators.Intercomm
createIntercomm(Comm localComm, int localLeader, int remoteLeader, int tag)
Create an inter-communicator.static int
createKeyval()
Create a new attribute key.void
deleteAttr(int keyval)
Deletes an attribute value associated with a key on a communicator.void
disconnect()
Java binding of the MPI operationMPI_COMM_DISCONNECT
.Comm
dup()
Duplicates this communicator.protected long
dup(long comm)
protected long
dupWithInfo(long comm, long info)
Comm
dupWithInfo(Info info)
Duplicates this communicator with the info object used in the call.void
free()
Java binding of the MPI operationMPI_COMM_FREE
.static void
freeKeyval(int keyval)
Frees an attribute key for communicators.void
gather(java.lang.Object buf, int count, Datatype type, int root)
Each process sends the contents of its send buffer to the root process.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 recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)
Extends functionality ofgather
by allowing varying counts of data from each process.void
gatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, int root)
Extends functionality ofgather
by allowing varying counts of data from each 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 ofgather
by allowing varying counts of data from each process.java.lang.Object
getAttr(int keyval)
Retrieves attribute value by key.Errhandler
getErrhandler()
Returns the error handler currently associated with the communicator.Group
getGroup()
Return group associated with a communicator.Info
getInfo()
Java binding ofMPI_COMM_GET_INFO
.java.lang.String
getName()
Return the print name from the communicator.int
getRank()
Rank of this process in group of this communicator.Request
getRequest()
Returns the associated request to this communicator if it was created usingiDup()
.int
getSize()
Size of group of this communicator.int
getTopology()
Returns the type of topology associated with the communicator.Request
iAllGather(java.nio.Buffer buf, int count, Datatype type)
Similar togather
, but all processes receive the result.Request
iAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)
Similar togather
, but all processes receive the result.Request
iAllGatherv(java.nio.Buffer buf, int[] count, int[] displs, Datatype type)
Similar togatherv
, but all processes receive the result.Request
iAllGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype)
Similar togatherv
, but all processes receive the result.Request
iAllReduce(java.nio.Buffer buf, int count, Datatype type, Op op)
Same asreduce
except that the result appears in receive buffer of all process in the group.Request
iAllReduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, Datatype type, Op op)
Same asreduce
except that the result appears in receive buffer of all process in the group.Request
iAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)
Extension ofallGather
to the case where each process sends distinct data to each of the receivers.Request
iAllToAllv(java.nio.Buffer sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype)
Adds flexibility toallToAll
: location of data for send is specified bysdispls
and location to place data on receive side is specified byrdispls
.Request
iAllToAllw(java.nio.Buffer sendBuf, int[] sendCount, int[] sDispls, Datatype[] sendTypes, java.nio.Buffer recvBuf, int[] recvCount, int[] rDispls, Datatype[] recvTypes)
Adds more flexibility toiAllToAllv
: datatypes for send are specified bysendTypes
and datatypes for receive are specified byrecvTypes
per process.Request
iBarrier()
Nonblocking barrier synchronization.Request
iBcast(java.nio.Buffer buf, int count, Datatype type, int root)
Broadcast a message from the process with rankroot
to all processes of the group.Request
ibSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Start a buffered mode, nonblocking send.Comm
iDup()
Duplicates this communicator.protected long[]
iDup(long comm)
Request
iGather(java.nio.Buffer buf, int count, Datatype type, int root)
Each process sends the contents of its send buffer to the root process.Request
iGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)
Each process sends the contents of its send buffer to the root process.Request
iGatherv(java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)
Extends functionality ofgather
by allowing varying counts of data from each process.Request
iGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, int root)
Extends functionality ofgather
by allowing varying counts of data from each process.Request
iGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)
Extends functionality ofgather
by allowing varying counts of data from each process.Request
iNeighborAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)
Java binding ofMPI_INEIGHBOR_ALLGATHER
.Request
iNeighborAllGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype)
Java binding ofMPI_INEIGHBOR_ALLGATHERV
.Request
iNeighborAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)
Java binding ofMPI_INEIGHBOR_ALLTOALL
.Request
iNeighborAllToAllv(java.nio.Buffer sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype)
Java binding ofMPI_INEIGHBOR_ALLTOALLV
.Status
iProbe(int source, int tag)
Check if there is an incoming message matching the pattern specified.Request
iRecv(java.nio.Buffer buf, int count, Datatype type, int source, int tag)
Start a nonblocking receive.Request
iReduce(java.nio.Buffer buf, int count, Datatype type, 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.Request
iReduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, Datatype type, 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.Request
iReduceScatter(java.nio.Buffer buf, int[] counts, Datatype type, 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.Request
iReduceScatter(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int[] recvcounts, Datatype type, 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.Request
iReduceScatterBlock(java.nio.Buffer buf, int count, Datatype type, Op op)
Combine values and scatter the results.Request
iReduceScatterBlock(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int recvcount, Datatype type, Op op)
Combine values and scatter the results.Request
irSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Start a ready mode, nonblocking send.Request
iScatter(java.nio.Buffer buf, int count, Datatype type, int root)
Inverse of the operationgather
.Request
iScatter(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)
Inverse of the operationgather
.Request
iScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root)
Inverse of the operationgatherv
.Request
iScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)
Inverse of the operationgatherv
.Request
iScatterv(java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)
Inverse of the operationgatherv
.Request
iSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Start a standard mode, nonblocking send.boolean
isInter()
Test if this communicator is an inter-communicator.boolean
isNull()
Test if communicator object is null (has been freed).Request
isSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Start a synchronous mode, nonblocking send.void
neighborAllGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)
Java binding ofMPI_NEIGHBOR_ALLGATHER
.void
neighborAllGatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype)
Java binding ofMPI_NEIGHBOR_ALLGATHERV
.void
neighborAllToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)
Java binding ofMPI_NEIGHBOR_ALLTOALL
.void
neighborAllToAllv(java.lang.Object sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype)
Java binding ofMPI_NEIGHBOR_ALLTOALLV
.int
pack(java.lang.Object inbuf, int incount, Datatype type, byte[] outbuf, int position)
Packs message in send bufferinbuf
into space specified inoutbuf
.int
packSize(int incount, Datatype type)
Returns an upper bound on the increment ofposition
effected bypack
.Status
probe(int source, int tag)
Wait until there is an incoming message matching the pattern specified.Status
recv(java.lang.Object buf, int count, Datatype type, int source, int tag)
Blocking receive operation.Prequest
recvInit(java.nio.Buffer buf, int count, Datatype type, int source, int tag)
Creates a persistent communication request for a receive operation.void
reduce(java.lang.Object buf, int count, Datatype type, 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
reduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype type, 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.static void
reduceLocal(java.lang.Object inBuf, java.lang.Object inOutBuf, int count, Datatype type, Op op)
Apply the operation given byop
element-wise to the elements ofinBuf
andinOutBuf
with the result stored element-wise ininOutBuf
.void
reduceScatter(java.lang.Object buf, int[] counts, Datatype type, 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
reduceScatter(java.lang.Object sendbuf, java.lang.Object recvbuf, int[] recvcounts, Datatype type, 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
reduceScatterBlock(java.lang.Object buf, int count, Datatype type, Op op)
Combine values and scatter the results.void
reduceScatterBlock(java.lang.Object sendbuf, java.lang.Object recvbuf, int recvcount, Datatype type, Op op)
Combine values and scatter the results.void
rSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)
Send in ready mode.Prequest
rSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Creates a persistent communication request for a ready mode send.void
scatter(java.lang.Object buf, int count, Datatype type, int root)
Inverse of the operationgather
.void
scatter(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root)
Inverse of the operationgather
.void
scatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root)
Inverse of the operationgatherv
.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 operationgatherv
.void
scatterv(java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root)
Inverse of the operationgatherv
.void
send(java.lang.Object buf, int count, Datatype type, int dest, int tag)
Blocking send operation.Prequest
sendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Creates a persistent communication request for a standard mode send.Status
sendRecv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, int dest, int sendtag, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int source, int recvtag)
Execute a blocking send and receive operation.Status
sendRecvReplace(java.lang.Object buf, int count, Datatype type, int dest, int sendtag, int source, int recvtag)
Execute a blocking send and receive operation, receiving message into send buffer.void
setAttr(int keyval, java.lang.Object value)
Stores attribute value associated with a key.void
setErrhandler(Errhandler errhandler)
Associates a new error handler with communicator at the calling process.void
setInfo(Info info)
Java binding ofMPI_COMM_SET_INFO
.void
setName(java.lang.String name)
Sets the print name for the communicator.protected void
setType(int type)
void
sSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)
Send in synchronous mode.Prequest
sSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)
Creates a persistent communication request for a synchronous mode send.int
unpack(byte[] inbuf, int position, java.lang.Object outbuf, int outcount, Datatype type)
Unpacks message in receive bufferoutbuf
into space specified ininbuf
.
-
-
-
Field Detail
-
TYPE_SHARED
public static final int TYPE_SHARED
- See Also:
- Constant Field Values
-
SELF
protected static final int SELF
- See Also:
- Constant Field Values
-
WORLD
protected static final int WORLD
- See Also:
- Constant Field Values
-
handle
protected long handle
-
-
Method Detail
-
setType
protected final void setType(int type)
-
clone
public Comm clone()
Duplicates this communicator.Java binding of
MPI_COMM_DUP
.It is recommended to use
dup()
instead ofclone()
because the last can't throw anMPIException
.- Overrides:
clone
in classjava.lang.Object
- Returns:
- copy of this communicator
-
dup
public Comm dup() throws MPIException
Duplicates this communicator.Java binding of
MPI_COMM_DUP
.- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
dup
protected final long dup(long comm) throws MPIException
- Throws:
MPIException
-
iDup
public Comm iDup() throws MPIException
Duplicates this communicator.Java binding of
MPI_COMM_IDUP
.The new communicator can't be used before the operation completes. The request object must be obtained calling
getRequest()
.- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iDup
protected final long[] iDup(long comm) throws MPIException
- Throws:
MPIException
-
dupWithInfo
public Comm dupWithInfo(Info info) throws MPIException
Duplicates this communicator with the info object used in the call.Java binding of
MPI_COMM_DUP_WITH_INFO
.- Parameters:
info
- info object to associate with the new communicator- Returns:
- copy of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
dupWithInfo
protected final long dupWithInfo(long comm, long info) throws MPIException
- Throws:
MPIException
-
getRequest
public final Request getRequest()
Returns the associated request to this communicator if it was created usingiDup()
.- Returns:
- associated request if this communicator was created
using
iDup()
, or null otherwise.
-
getSize
public final int getSize() throws MPIException
Size of group of this communicator.Java binding of the MPI operation
MPI_COMM_SIZE
.- Returns:
- number of processors in the group of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getRank
public final int getRank() throws MPIException
Rank of this process in group of this communicator.Java binding of the MPI operation
MPI_COMM_RANK
.- Returns:
- rank of the calling process in the group of this communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
compare
public static int compare(Comm comm1, Comm comm2) throws MPIException
Compare two communicators.Java binding of the MPI operation
MPI_COMM_COMPARE
.- Parameters:
comm1
- first communicatorcomm2
- second communicator- Returns:
MPI.IDENT
results if thecomm1
andcomm2
are references to the same object (ie, ifcomm1 == 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.- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
free
public final void free() throws MPIException
Java binding of the MPI operationMPI_COMM_FREE
.- Specified by:
free
in interfaceFreeable
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
isNull
public final boolean isNull()
Test if communicator object is null (has been freed). Java binding ofMPI_COMM_NULL
.- Returns:
- true if the comm object is null, false otherwise
-
setInfo
public final void setInfo(Info info) throws MPIException
Java binding ofMPI_COMM_SET_INFO
.- Parameters:
info
- info object- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getInfo
public final Info getInfo() throws MPIException
Java binding ofMPI_COMM_GET_INFO
.- Returns:
- new info object
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
disconnect
public final void disconnect() throws MPIException
Java binding of the MPI operationMPI_COMM_DISCONNECT
.- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getGroup
public final Group getGroup() throws MPIException
Return group associated with a communicator.Java binding of the MPI operation
MPI_COMM_GROUP
.- Returns:
- group corresponding to this communicator group
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
isInter
public final boolean isInter() throws MPIException
Test if this communicator is an inter-communicator.Java binding of the MPI operation
MPI_COMM_TEST_INTER
.- Returns:
true
if this is an inter-communicator,false
otherwise- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createIntercomm
public final Intercomm createIntercomm(Comm localComm, int localLeader, int remoteLeader, int tag) throws MPIException
Create an 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
orrecv
communication with the remote group leader.- Parameters:
localComm
- local intra-communicatorlocalLeader
- rank of local group leader inlocalComm
remoteLeader
- rank of remote group leader in this communicatortag
- "safe" tag- Returns:
- new inter-communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
send
public final void send(java.lang.Object buf, int count, Datatype type, int dest, int tag) throws MPIException
Blocking send operation.Java binding of the MPI operation
MPI_SEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
recv
public final Status recv(java.lang.Object buf, int count, Datatype type, int source, int tag) throws MPIException
Blocking receive operation.Java binding of the MPI operation
MPI_RECV
.- Parameters:
buf
- receive buffercount
- number of items in receive buffertype
- datatype of each item in receive buffersource
- rank of sourcetag
- message tag- Returns:
- status object
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
sendRecv
public final Status sendRecv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, int dest, int sendtag, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int source, int recvtag) throws MPIException
Execute a blocking send and receive operation.Java binding of the MPI operation
MPI_SENDRECV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferdest
- rank of destinationsendtag
- send tagrecvbuf
- receive bufferrecvcount
- number of items in receive bufferrecvtype
- datatype of each item in receive buffersource
- rank of sourcerecvtag
- receive tag- Returns:
- status object
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
,recv(Object, int, Datatype, int, int)
-
sendRecvReplace
public final Status sendRecvReplace(java.lang.Object buf, 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.Java binding of the MPI operation
MPI_SENDRECV_REPLACE
.- Parameters:
buf
- buffercount
- number of items to sendtype
- datatype of each item in bufferdest
- rank of destinationsendtag
- send tagsource
- rank of sourcerecvtag
- receive tag- Returns:
- status object
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
,recv(Object, int, Datatype, int, int)
-
bSend
public final void bSend(java.lang.Object buf, int count, Datatype type, int dest, int tag) throws MPIException
Send in buffered mode.Java binding of the MPI operation
MPI_BSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
sSend
public final void sSend(java.lang.Object buf, int count, Datatype type, int dest, int tag) throws MPIException
Send in synchronous mode.Java binding of the MPI operation
MPI_SSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
rSend
public final void rSend(java.lang.Object buf, int count, Datatype type, int dest, int tag) throws MPIException
Send in ready mode.Java binding of the MPI operation
MPI_RSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
iSend
public final Request iSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Start a standard mode, nonblocking send.Java binding of the MPI operation
MPI_ISEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
ibSend
public final Request ibSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Start a buffered mode, nonblocking send.Java binding of the MPI operation
MPI_IBSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
isSend
public final Request isSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Start a synchronous mode, nonblocking send.Java binding of the MPI operation
MPI_ISSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
irSend
public final Request irSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Start a ready mode, nonblocking send.Java binding of the MPI operation
MPI_IRSEND
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
iRecv
public final Request iRecv(java.nio.Buffer buf, int count, Datatype type, int source, int tag) throws MPIException
Start a nonblocking receive.Java binding of the MPI operation
MPI_IRECV
.- Parameters:
buf
- receive buffercount
- number of items in receive buffertype
- datatype of each item in receive buffersource
- rank of sourcetag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
recv(Object, int, Datatype, int, int)
-
sendInit
public final Prequest sendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Creates a persistent communication request for a standard mode send.Java binding of the MPI operation
MPI_SEND_INIT
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- persistent communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
bSendInit
public final Prequest bSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Creates a persistent communication request for a buffered mode send.Java binding of the MPI operation
MPI_BSEND_INIT
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- persistent communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
sSendInit
public final Prequest sSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Creates a persistent communication request for a synchronous mode send.Java binding of the MPI operation
MPI_SSEND_INIT
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- persistent communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
rSendInit
public final Prequest rSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag) throws MPIException
Creates a persistent communication request for a ready mode send.Java binding of the MPI operation
MPI_RSEND_INIT
.- Parameters:
buf
- send buffercount
- number of items to sendtype
- datatype of each item in send bufferdest
- rank of destinationtag
- message tag- Returns:
- persistent communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
send(Object, int, Datatype, int, int)
-
recvInit
public final Prequest recvInit(java.nio.Buffer buf, int count, Datatype type, int source, int tag) throws MPIException
Creates a persistent communication request for a receive operation.Java binding of the MPI operation
MPI_RECV_INIT
.- Parameters:
buf
- receive buffercount
- number of items in receive buffertype
- datatype of each item in receive buffersource
- rank of sourcetag
- message tag- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.- See Also:
recv(Object, int, Datatype, int, int)
-
pack
public final int pack(java.lang.Object inbuf, int incount, Datatype type, byte[] outbuf, int position) throws MPIException
Packs message in send bufferinbuf
into space specified inoutbuf
.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.- Parameters:
inbuf
- input bufferincount
- number of items in input buffertype
- datatype of each item in input bufferoutbuf
- output bufferposition
- initial position in output buffer- Returns:
- final position in output buffer
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
unpack
public final int unpack(byte[] inbuf, int position, java.lang.Object outbuf, int outcount, Datatype type) throws MPIException
Unpacks message in receive bufferoutbuf
into space specified ininbuf
.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.- Parameters:
inbuf
- input bufferposition
- initial position in input bufferoutbuf
- output bufferoutcount
- number of items in output buffertype
- datatype of each item in output buffer- Returns:
- final position in input buffer
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
packSize
public final int packSize(int incount, Datatype type) throws MPIException
Returns an upper bound on the increment ofposition
effected bypack
.Java binding of the MPI operation
MPI_PACK_SIZE
.- Parameters:
incount
- number of items in input buffertype
- datatype of each item in input buffer- Returns:
- upper bound on size of packed message
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iProbe
public final Status iProbe(int source, int tag) throws MPIException
Check if there is an incoming message matching the pattern specified.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.- Parameters:
source
- rank of sourcetag
- message tag- Returns:
- status object if such a message is currently available,
null
otherwise. - Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
probe
public final Status probe(int source, int tag) throws MPIException
Wait until there is an incoming message matching the pattern specified.Java binding of the MPI operation
MPI_PROBE
.Returns a status object similar to the return value of a matching
recv
operation.- Parameters:
source
- rank of sourcetag
- message tag- Returns:
- status object
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
createKeyval
public static int createKeyval() throws MPIException
Create a new attribute key.Java binding of the MPI operation
MPI_COMM_CREATE_KEYVAL
.- Returns:
- attribute key for future access
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
freeKeyval
public static void freeKeyval(int keyval) throws MPIException
Frees an attribute key for communicators.Java binding of the MPI operation
MPI_COMM_FREE_KEYVAL
.- Parameters:
keyval
- attribute key- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
setAttr
public final void setAttr(int keyval, java.lang.Object value) throws MPIException
Stores attribute value associated with a key.Java binding of the MPI operation
MPI_COMM_SET_ATTR
.- Parameters:
keyval
- attribute keyvalue
- attribute value- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getAttr
public final java.lang.Object getAttr(int keyval) throws MPIException
Retrieves attribute value by key.Java binding of the MPI operation
MPI_COMM_GET_ATTR
.- Parameters:
keyval
- attribute key- Returns:
- attribute value or null if no attribute is associated with the key.
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
deleteAttr
public final void deleteAttr(int keyval) throws MPIException
Deletes an attribute value associated with a key on a communicator.Java binding of the MPI operation
MPI_COMM_DELETE_ATTR
.- Parameters:
keyval
- attribute key- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getTopology
public final int getTopology() throws MPIException
Returns the type of topology associated with the communicator.Java binding of the MPI operation
MPI_TOPO_TEST
.The return value will be one of
MPI.GRAPH
,MPI.CART
,MPI.DIST_GRAPH
orMPI.UNDEFINED
.- Returns:
- topology type of communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
abort
public final void abort(int errorcode) throws MPIException
Abort MPI.Java binding of the MPI operation
MPI_ABORT
.- Parameters:
errorcode
- error code for Unix or POSIX environments- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
setErrhandler
public final void setErrhandler(Errhandler errhandler) throws MPIException
Associates a new error handler with communicator at the calling process.Java binding of the MPI operation
MPI_COMM_SET_ERRHANDLER
.- Parameters:
errhandler
- new MPI error handler for communicator- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getErrhandler
public final Errhandler getErrhandler() throws MPIException
Returns the error handler currently associated with the communicator.Java binding of the MPI operation
MPI_COMM_GET_ERRHANDLER
.- Returns:
- MPI error handler currently associated with communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
callErrhandler
public void callErrhandler(int errorCode) throws MPIException
Calls the error handler currently associated with the communicator.Java binding of the MPI operation
MPI_COMM_CALL_ERRHANDLER
.- Parameters:
errorCode
- error code- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
barrier
public final void barrier() throws MPIException
A call tobarrier
blocks the caller until all process in the group have called it.Java binding of the MPI operation
MPI_BARRIER
.- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iBarrier
public final Request iBarrier() throws MPIException
Nonblocking barrier synchronization.Java binding of the MPI operation
MPI_IBARRIER
.- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
bcast
public final void bcast(java.lang.Object buf, int count, Datatype type, int root) throws MPIException
Broadcast a message from the process with rankroot
to all processes of the group.Java binding of the MPI operation
MPI_BCAST
.- Parameters:
buf
- buffercount
- number of items in buffertype
- datatype of each item in bufferroot
- rank of broadcast root- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iBcast
public final Request iBcast(java.nio.Buffer buf, int count, Datatype type, int root) throws MPIException
Broadcast a message from the process with rankroot
to all processes of the group.Java binding of the MPI operation
MPI_IBCAST
.- Parameters:
buf
- buffercount
- number of items in buffertype
- datatype of each item in bufferroot
- rank of broadcast root- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
gather
public final void gather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Each process sends the contents of its send buffer to the root process.Java binding of the MPI operation
MPI_GATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
gather
public final void gather(java.lang.Object buf, int count, Datatype type, int root) throws MPIException
Each process sends the contents of its send buffer to the root process.Java binding of the MPI operation
MPI_GATHER
usingMPI_IN_PLACE
instead of the send buffer. The buffer is used by the root process to receive data, and it is used by the non-root processes to send data.- Parameters:
buf
- buffercount
- number of items to send/receivetype
- datatype of each item in bufferroot
- rank of receiving process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iGather
public final Request iGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Each process sends the contents of its send buffer to the root process.Java binding of the MPI operation
MPI_IGATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iGather
public final Request iGather(java.nio.Buffer buf, int count, Datatype type, int root) throws MPIException
Each process sends the contents of its send buffer to the root process.Java binding of the MPI operation
MPI_IGATHER
usingMPI_IN_PLACE
instead of the send buffer. The buffer is used by the root process to receive data, and it is used by the non-root processes to send data.- Parameters:
buf
- buffercount
- number of items to send/receivetype
- datatype of each item in bufferroot
- rank of receiving process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
gatherv
public final void gatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_GATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
gatherv
public final void gatherv(java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_GATHERV
usingMPI_IN_PLACE
instead of the send buffer in the root process. This method must be used in the root process.- Parameters:
recvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
gatherv
public final void gatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_GATHERV
usingMPI_IN_PLACE
instead of the send buffer in the root process. This method must be used in the non-root processes.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferroot
- rank of receiving process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iGatherv
public final Request iGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_IGATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iGatherv
public final Request iGatherv(java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_IGATHERV
usingMPI_IN_PLACE
instead of the send buffer in the root process. This method must be used in the root process.- Parameters:
recvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive bufferroot
- rank of receiving process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iGatherv
public final Request iGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, int root) throws MPIException
Extends functionality ofgather
by allowing varying counts of data from each process.Java binding of the MPI operation
MPI_IGATHERV
usingMPI_IN_PLACE
instead of the send buffer in the root process. This method must be used in the non-root processes.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferroot
- rank of receiving process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scatter
public final void scatter(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgather
.Java binding of the MPI operation
MPI_SCATTER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scatter
public final void scatter(java.lang.Object buf, int count, Datatype type, int root) throws MPIException
Inverse of the operationgather
.Java binding of the MPI operation
MPI_SCATTER
usingMPI_IN_PLACE
instead of the receive buffer. The buffer is used by the root process to send data, and it is used by the non-root processes to receive data.- Parameters:
buf
- send/receive buffercount
- number of items to send/receivetype
- datatype of each item in bufferroot
- rank of sending process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScatter
public final Request iScatter(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgather
.Java binding of the MPI operation
MPI_ISCATTER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScatter
public final Request iScatter(java.nio.Buffer buf, int count, Datatype type, int root) throws MPIException
Inverse of the operationgather
.Java binding of the MPI operation
MPI_ISCATTER
usingMPI_IN_PLACE
instead of the receive buffer. The buffer is used by the root process to send data, and it is used by the non-root processes to receive data.- Parameters:
buf
- send/receive buffercount
- number of items to send/receivetype
- datatype of each item in bufferroot
- rank of sending process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scatterv
public final void scatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_SCATTERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processdispls
- displacements from which to take outgoing datasendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scatterv
public final void scatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_SCATTERV
usingMPI_IN_PLACE
instead of the receive buffer in the root process. This method must be used in the root process.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processdispls
- displacements from which to take outgoing datasendtype
- datatype of each item in send bufferroot
- rank of sending process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
scatterv
public final void scatterv(java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_SCATTERV
usingMPI_IN_PLACE
instead of the receive buffer in the root process. This method must be used in the non-root processes.- Parameters:
recvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScatterv
public final Request iScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_ISCATTERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processdispls
- displacements from which to take outgoing datasendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScatterv
public final Request iScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_ISCATTERV
usingMPI_IN_PLACE
instead of the receive buffer in the root process. This method must be used in the root process.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processdispls
- displacements from which to take outgoing datasendtype
- datatype of each item in send bufferroot
- rank of sending process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iScatterv
public final Request iScatterv(java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root) throws MPIException
Inverse of the operationgatherv
.Java binding of the MPI operation
MPI_ISCATTERV
usingMPI_IN_PLACE
instead of the receive buffer in the root process. This method must be used in the non-root processes.- Parameters:
recvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive bufferroot
- rank of sending process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allGather
public final void allGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Similar togather
, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allGather
public final void allGather(java.lang.Object buf, int count, Datatype type) throws MPIException
Similar togather
, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHER
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- number of items to receivetype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllGather
public final Request iAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype) throws MPIException
Similar togather
, but all processes receive the result.Java binding of the MPI operation
MPI_IALLGATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllGather
public final Request iAllGather(java.nio.Buffer buf, int count, Datatype type) throws MPIException
Similar togather
, but all processes receive the result.Java binding of the MPI operation
MPI_IALLGATHER
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- number of items to receivetype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allGatherv
public final void allGatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Similar togatherv
, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allGatherv
public final void allGatherv(java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Similar togatherv
, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHERV
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
recvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllGatherv
public final Request iAllGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Similar togatherv
, but all processes receive the result.Java binding of the MPI operation
MPI_IALLGATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements received from each processdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllGatherv
public final Request iAllGatherv(java.nio.Buffer buf, int[] count, int[] displs, Datatype type) throws MPIException
Similar togatherv
, but all processes receive the result.Java binding of the MPI operation
MPI_IALLGATHERV
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- number of elements received from each processdispls
- displacements at which to place incoming datatype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allToAll
public final void allToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Extension ofallGather
to the case where each process sends distinct data to each of the receivers.Java binding of the MPI operation
MPI_ALLTOALL
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processsendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of items received from any processrecvtype
- datatype of receive buffer items- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllToAll
public final Request iAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype) throws MPIException
Extension ofallGather
to the case where each process sends distinct data to each of the receivers.Java binding of the MPI operation
MPI_IALLTOALL
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each processsendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of items received from any processrecvtype
- datatype of receive buffer items- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allToAllv
public final void allToAllv(java.lang.Object sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype) throws MPIException
Adds flexibility toallToAll
: location of data for send is specified bysdispls
and location to place data on receive side is specified byrdispls
.Java binding of the MPI operation
MPI_ALLTOALLV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each buffersdispls
- displacements from which to take outgoing datasendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of elements received from each processrdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllToAllv
public final Request iAllToAllv(java.nio.Buffer sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype) throws MPIException
Adds flexibility toallToAll
: location of data for send is specified bysdispls
and location to place data on receive side is specified byrdispls
.Java binding of the MPI operation
MPI_IALLTOALLV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each buffersdispls
- displacements from which to take outgoing datasendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of elements received from each processrdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allToAllw
public final void allToAllw(java.lang.Object sendBuf, int[] sendCount, int[] sDispls, Datatype[] sendTypes, java.lang.Object recvBuf, int[] recvCount, int[] rDispls, Datatype[] recvTypes) throws MPIException
Adds more flexibility toallToAllv
: datatypes for send are specified bysendTypes
and datatypes for receive are specified byrecvTypes
per process.Java binding of the MPI operation
MPI_ALLTOALLW
.- Parameters:
sendBuf
- send buffersendCount
- number of items sent to each buffersDispls
- displacements from which to take outgoing datasendTypes
- datatypes of send buffer itemsrecvBuf
- receive bufferrecvCount
- number of elements received from each processrDispls
- displacements at which to place incoming datarecvTypes
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllToAllw
public final Request iAllToAllw(java.nio.Buffer sendBuf, int[] sendCount, int[] sDispls, Datatype[] sendTypes, java.nio.Buffer recvBuf, int[] recvCount, int[] rDispls, Datatype[] recvTypes) throws MPIException
Adds more flexibility toiAllToAllv
: datatypes for send are specified bysendTypes
and datatypes for receive are specified byrecvTypes
per process.Java binding of the MPI operation
MPI_IALLTOALLW
.- Parameters:
sendBuf
- send buffersendCount
- number of items sent to each buffersDispls
- displacements from which to take outgoing datasendTypes
- datatype send buffer itemsrecvBuf
- receive bufferrecvCount
- number of elements received from each processrDispls
- displacements at which to place incoming datarecvTypes
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
neighborAllGather
public final void neighborAllGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Java binding ofMPI_NEIGHBOR_ALLGATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iNeighborAllGather
public final Request iNeighborAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype) throws MPIException
Java binding ofMPI_INEIGHBOR_ALLGATHER
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
neighborAllGatherv
public final void neighborAllGatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Java binding ofMPI_NEIGHBOR_ALLGATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements that are received from each neighbordispls
- displacements at which to place incoming datarecvtype
- datatype of receive buffer elements- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iNeighborAllGatherv
public final Request iNeighborAllGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype) throws MPIException
Java binding ofMPI_INEIGHBOR_ALLGATHERV
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of elements that are received from each neighbordispls
- displacements at which to place incoming datarecvtype
- datatype of receive buffer elements- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
neighborAllToAll
public final void neighborAllToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype) throws MPIException
Java binding ofMPI_NEIGHBOR_ALLTOALL
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iNeighborAllToAll
public final Request iNeighborAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype) throws MPIException
Java binding ofMPI_INEIGHBOR_ALLTOALL
.- Parameters:
sendbuf
- send buffersendcount
- number of items to sendsendtype
- datatype of each item in send bufferrecvbuf
- receive bufferrecvcount
- number of items to receiverecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
neighborAllToAllv
public final void neighborAllToAllv(java.lang.Object sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype) throws MPIException
Java binding ofMPI_NEIGHBOR_ALLTOALLV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each buffersdispls
- displacements from which to take outgoing datasendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of elements received from each processrdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iNeighborAllToAllv
public final Request iNeighborAllToAllv(java.nio.Buffer sendbuf, int[] sendcount, int[] sdispls, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] rdispls, Datatype recvtype) throws MPIException
Java binding ofMPI_INEIGHBOR_ALLTOALLV
.- Parameters:
sendbuf
- send buffersendcount
- number of items sent to each buffersdispls
- displacements from which to take outgoing datasendtype
- datatype send buffer itemsrecvbuf
- receive bufferrecvcount
- number of elements received from each processrdispls
- displacements at which to place incoming datarecvtype
- datatype of each item in receive buffer- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduce
public final void reduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype type, Op op, int root) throws MPIException
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.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
andMPI.MAXLOC
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operationroot
- rank of root process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduce
public final void reduce(java.lang.Object buf, int count, Datatype type, Op op, int root) throws MPIException
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.Java binding of the MPI operation
MPI_REDUCE
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- send/receive buffercount
- number of items in buffertype
- data type of each item in bufferop
- reduce operationroot
- rank of root process- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduce
public final Request iReduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, Datatype type, Op op, int root) throws MPIException
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.Java binding of the MPI operation
MPI_IREDUCE
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operationroot
- rank of root process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduce
public final Request iReduce(java.nio.Buffer buf, int count, Datatype type, Op op, int root) throws MPIException
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.Java binding of the MPI operation
MPI_IREDUCE
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- send/receive buffercount
- number of items in buffertype
- data type of each item in bufferop
- reduce operationroot
- rank of root process- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allReduce
public final void allReduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype type, Op op) throws MPIException
Same asreduce
except that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_ALLREDUCE
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
allReduce
public final void allReduce(java.lang.Object buf, int count, Datatype type, Op op) throws MPIException
Same asreduce
except that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_ALLREDUCE
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllReduce
public final Request iAllReduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, Datatype type, Op op) throws MPIException
Same asreduce
except that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_IALLREDUCE
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iAllReduce
public final Request iAllReduce(java.nio.Buffer buf, int count, Datatype type, Op op) throws MPIException
Same asreduce
except that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_IALLREDUCE
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- number of items in send buffertype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduceScatter
public final void reduceScatter(java.lang.Object sendbuf, java.lang.Object recvbuf, int[] recvcounts, Datatype type, Op op) throws MPIException
Combine elements in input buffer of each process using the reduce operation, and scatter the combined values over the output buffers of the processes.Java binding of the MPI operation
MPI_REDUCE_SCATTER
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive bufferrecvcounts
- numbers of result elements distributed to each processtype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduceScatter
public final void reduceScatter(java.lang.Object buf, int[] counts, Datatype type, Op op) throws MPIException
Combine elements in input buffer of each process using the reduce operation, and scatter the combined values over the output buffers of the processes.Java binding of the MPI operation
MPI_REDUCE_SCATTER
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercounts
- numbers of result elements distributed to each processtype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduceScatter
public final Request iReduceScatter(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int[] recvcounts, Datatype type, Op op) throws MPIException
Combine elements in input buffer of each process using the reduce operation, and scatter the combined values over the output buffers of the processes.Java binding of the MPI operation
MPI_IREDUCE_SCATTER
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive bufferrecvcounts
- numbers of result elements distributed to each processtype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduceScatter
public final Request iReduceScatter(java.nio.Buffer buf, int[] counts, Datatype type, Op op) throws MPIException
Combine elements in input buffer of each process using the reduce operation, and scatter the combined values over the output buffers of the processes.Java binding of the MPI operation
MPI_IREDUCE_SCATTER
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercounts
- numbers of result elements distributed to each processtype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduceScatterBlock
public final void reduceScatterBlock(java.lang.Object sendbuf, java.lang.Object recvbuf, int recvcount, Datatype type, Op op) throws MPIException
Combine values and scatter the results.Java binding of the MPI operation
MPI_REDUCE_SCATTER_BLOCK
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive bufferrecvcount
- element count per blocktype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduceScatterBlock
public final void reduceScatterBlock(java.lang.Object buf, int count, Datatype type, Op op) throws MPIException
Combine values and scatter the results.Java binding of the MPI operation
MPI_REDUCE_SCATTER_BLOCK
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- element count per blocktype
- data type of each item in send bufferop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduceScatterBlock
public final Request iReduceScatterBlock(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int recvcount, Datatype type, Op op) throws MPIException
Combine values and scatter the results.Java binding of the MPI operation
MPI_IREDUCE_SCATTER_BLOCK
.- Parameters:
sendbuf
- send bufferrecvbuf
- receive bufferrecvcount
- element count per blocktype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
iReduceScatterBlock
public final Request iReduceScatterBlock(java.nio.Buffer buf, int count, Datatype type, Op op) throws MPIException
Combine values and scatter the results.Java binding of the MPI operation
MPI_IREDUCE_SCATTER_BLOCK
usingMPI_IN_PLACE
instead of the send buffer.- Parameters:
buf
- receive buffercount
- element count per blocktype
- data type of each item in send bufferop
- reduce operation- Returns:
- communication request
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
reduceLocal
public static void reduceLocal(java.lang.Object inBuf, java.lang.Object inOutBuf, int count, Datatype type, Op op) throws MPIException
Apply the operation given byop
element-wise to the elements ofinBuf
andinOutBuf
with the result stored element-wise ininOutBuf
.Java binding of the MPI operation
MPI_REDUCE_LOCAL
.- Parameters:
inBuf
- input bufferinOutBuf
- input buffer, will contain combined outputcount
- number of elementstype
- data type of each itemop
- reduce operation- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
setName
public final void setName(java.lang.String name) throws MPIException
Sets the print name for the communicator.- Parameters:
name
- name for the communicator- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
getName
public final java.lang.String getName() throws MPIException
Return the print name from the communicator.- Returns:
- name of the communicator
- Throws:
MPIException
- Signals that an MPI exception of some sort has occurred.
-
-