Class Comm
- java.lang.Object
-
- mpi.Comm
-
-
Field Summary
Fields Modifier and Type Field Description protected longhandleprotected static intSELFstatic intTYPE_SHAREDprotected static intWORLD
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidabort(int errorcode)Abort MPI.voidallGather(java.lang.Object buf, int count, Datatype type)Similar togather, but all processes receive the result.voidallGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)Similar togather, but all processes receive the result.voidallGatherv(java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype)Similar togatherv, but all processes receive the result.voidallGatherv(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.voidallReduce(java.lang.Object buf, int count, Datatype type, Op op)Same asreduceexcept that the result appears in receive buffer of all process in the group.voidallReduce(java.lang.Object sendbuf, java.lang.Object recvbuf, int count, Datatype type, Op op)Same asreduceexcept that the result appears in receive buffer of all process in the group.voidallToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)Extension ofallGatherto the case where each process sends distinct data to each of the receivers.voidallToAllv(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 bysdisplsand location to place data on receive side is specified byrdispls.voidallToAllw(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 bysendTypesand datatypes for receive are specified byrecvTypesper process.voidbarrier()A call tobarrierblocks the caller until all process in the group have called it.voidbcast(java.lang.Object buf, int count, Datatype type, int root)Broadcast a message from the process with rankrootto all processes of the group.voidbSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)Send in buffered mode.PrequestbSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Creates a persistent communication request for a buffered mode send.voidcallErrhandler(int errorCode)Calls the error handler currently associated with the communicator.Commclone()Duplicates this communicator.static intcompare(Comm comm1, Comm comm2)Compare two communicators.IntercommcreateIntercomm(Comm localComm, int localLeader, int remoteLeader, int tag)Create an inter-communicator.static intcreateKeyval()Create a new attribute key.voiddeleteAttr(int keyval)Deletes an attribute value associated with a key on a communicator.voiddisconnect()Java binding of the MPI operationMPI_COMM_DISCONNECT.Commdup()Duplicates this communicator.protected longdup(long comm)protected longdupWithInfo(long comm, long info)CommdupWithInfo(Info info)Duplicates this communicator with the info object used in the call.voidfree()Java binding of the MPI operationMPI_COMM_FREE.static voidfreeKeyval(int keyval)Frees an attribute key for communicators.voidgather(java.lang.Object buf, int count, Datatype type, int root)Each process sends the contents of its send buffer to the root process.voidgather(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.voidgatherv(java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.voidgatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.voidgatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.java.lang.ObjectgetAttr(int keyval)Retrieves attribute value by key.ErrhandlergetErrhandler()Returns the error handler currently associated with the communicator.GroupgetGroup()Return group associated with a communicator.InfogetInfo()Java binding ofMPI_COMM_GET_INFO.java.lang.StringgetName()Return the print name from the communicator.intgetRank()Rank of this process in group of this communicator.RequestgetRequest()Returns the associated request to this communicator if it was created usingiDup().intgetSize()Size of group of this communicator.intgetTopology()Returns the type of topology associated with the communicator.RequestiAllGather(java.nio.Buffer buf, int count, Datatype type)Similar togather, but all processes receive the result.RequestiAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)Similar togather, but all processes receive the result.RequestiAllGatherv(java.nio.Buffer buf, int[] count, int[] displs, Datatype type)Similar togatherv, but all processes receive the result.RequestiAllGatherv(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.RequestiAllReduce(java.nio.Buffer buf, int count, Datatype type, Op op)Same asreduceexcept that the result appears in receive buffer of all process in the group.RequestiAllReduce(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int count, Datatype type, Op op)Same asreduceexcept that the result appears in receive buffer of all process in the group.RequestiAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)Extension ofallGatherto the case where each process sends distinct data to each of the receivers.RequestiAllToAllv(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 bysdisplsand location to place data on receive side is specified byrdispls.RequestiAllToAllw(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 bysendTypesand datatypes for receive are specified byrecvTypesper process.RequestiBarrier()Nonblocking barrier synchronization.RequestiBcast(java.nio.Buffer buf, int count, Datatype type, int root)Broadcast a message from the process with rankrootto all processes of the group.RequestibSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Start a buffered mode, nonblocking send.CommiDup()Duplicates this communicator.protected long[]iDup(long comm)RequestiGather(java.nio.Buffer buf, int count, Datatype type, int root)Each process sends the contents of its send buffer to the root process.RequestiGather(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.RequestiGatherv(java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.RequestiGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.RequestiGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype, int root)Extends functionality ofgatherby allowing varying counts of data from each process.RequestiNeighborAllGather(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)Java binding ofMPI_INEIGHBOR_ALLGATHER.RequestiNeighborAllGatherv(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int[] recvcount, int[] displs, Datatype recvtype)Java binding ofMPI_INEIGHBOR_ALLGATHERV.RequestiNeighborAllToAll(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype)Java binding ofMPI_INEIGHBOR_ALLTOALL.RequestiNeighborAllToAllv(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.StatusiProbe(int source, int tag)Check if there is an incoming message matching the pattern specified.RequestiRecv(java.nio.Buffer buf, int count, Datatype type, int source, int tag)Start a nonblocking receive.RequestiReduce(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.RequestiReduce(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.RequestiReduceScatter(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.RequestiReduceScatter(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.RequestiReduceScatterBlock(java.nio.Buffer buf, int count, Datatype type, Op op)Combine values and scatter the results.RequestiReduceScatterBlock(java.nio.Buffer sendbuf, java.nio.Buffer recvbuf, int recvcount, Datatype type, Op op)Combine values and scatter the results.RequestirSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Start a ready mode, nonblocking send.RequestiScatter(java.nio.Buffer buf, int count, Datatype type, int root)Inverse of the operationgather.RequestiScatter(java.nio.Buffer sendbuf, int sendcount, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgather.RequestiScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root)Inverse of the operationgatherv.RequestiScatterv(java.nio.Buffer sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgatherv.RequestiScatterv(java.nio.Buffer recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgatherv.RequestiSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Start a standard mode, nonblocking send.booleanisInter()Test if this communicator is an inter-communicator.booleanisNull()Test if communicator object is null (has been freed).RequestisSend(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Start a synchronous mode, nonblocking send.voidneighborAllGather(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)Java binding ofMPI_NEIGHBOR_ALLGATHER.voidneighborAllGatherv(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int[] recvcount, int[] displs, Datatype recvtype)Java binding ofMPI_NEIGHBOR_ALLGATHERV.voidneighborAllToAll(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype)Java binding ofMPI_NEIGHBOR_ALLTOALL.voidneighborAllToAllv(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.intpack(java.lang.Object inbuf, int incount, Datatype type, byte[] outbuf, int position)Packs message in send bufferinbufinto space specified inoutbuf.intpackSize(int incount, Datatype type)Returns an upper bound on the increment ofpositioneffected bypack.Statusprobe(int source, int tag)Wait until there is an incoming message matching the pattern specified.Statusrecv(java.lang.Object buf, int count, Datatype type, int source, int tag)Blocking receive operation.PrequestrecvInit(java.nio.Buffer buf, int count, Datatype type, int source, int tag)Creates a persistent communication request for a receive operation.voidreduce(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.voidreduce(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 voidreduceLocal(java.lang.Object inBuf, java.lang.Object inOutBuf, int count, Datatype type, Op op)Apply the operation given byopelement-wise to the elements ofinBufandinOutBufwith the result stored element-wise ininOutBuf.voidreduceScatter(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.voidreduceScatter(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.voidreduceScatterBlock(java.lang.Object buf, int count, Datatype type, Op op)Combine values and scatter the results.voidreduceScatterBlock(java.lang.Object sendbuf, java.lang.Object recvbuf, int recvcount, Datatype type, Op op)Combine values and scatter the results.voidrSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)Send in ready mode.PrequestrSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Creates a persistent communication request for a ready mode send.voidscatter(java.lang.Object buf, int count, Datatype type, int root)Inverse of the operationgather.voidscatter(java.lang.Object sendbuf, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgather.voidscatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, int root)Inverse of the operationgatherv.voidscatterv(java.lang.Object sendbuf, int[] sendcount, int[] displs, Datatype sendtype, java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgatherv.voidscatterv(java.lang.Object recvbuf, int recvcount, Datatype recvtype, int root)Inverse of the operationgatherv.voidsend(java.lang.Object buf, int count, Datatype type, int dest, int tag)Blocking send operation.PrequestsendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Creates a persistent communication request for a standard mode send.StatussendRecv(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.StatussendRecvReplace(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.voidsetAttr(int keyval, java.lang.Object value)Stores attribute value associated with a key.voidsetErrhandler(Errhandler errhandler)Associates a new error handler with communicator at the calling process.voidsetInfo(Info info)Java binding ofMPI_COMM_SET_INFO.voidsetName(java.lang.String name)Sets the print name for the communicator.protected voidsetType(int type)voidsSend(java.lang.Object buf, int count, Datatype type, int dest, int tag)Send in synchronous mode.PrequestsSendInit(java.nio.Buffer buf, int count, Datatype type, int dest, int tag)Creates a persistent communication request for a synchronous mode send.intunpack(byte[] inbuf, int position, java.lang.Object outbuf, int outcount, Datatype type)Unpacks message in receive bufferoutbufinto 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:
clonein 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 MPIExceptionSize 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 MPIExceptionRank 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.IDENTresults if thecomm1andcomm2are references to the same object (ie, ifcomm1 == comm2).
MPI.CONGRUENTresults if the underlying groups are identical but the communicators differ by context.
MPI.SIMILARresults if the underlying groups are similar but the communicators differ by context.
MPI.UNEQUALresults otherwise.- Throws:
MPIException- Signals that an MPI exception of some sort has occurred.
-
free
public final void free() throws MPIExceptionJava binding of the MPI operationMPI_COMM_FREE.- Specified by:
freein 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 MPIExceptionJava 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 MPIExceptionTest if this communicator is an inter-communicator.Java binding of the MPI operation
MPI_COMM_TEST_INTER.- Returns:
trueif this is an inter-communicator,falseotherwise- 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
sendorrecvcommunication with the remote group leader.- Parameters:
localComm- local intra-communicatorlocalLeader- rank of local group leader inlocalCommremoteLeader- 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 MPIExceptionBlocking 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 MPIExceptionSend 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 MPIExceptionSend 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 MPIExceptionSend 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 MPIExceptionPacks message in send bufferinbufinto 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 MPIExceptionUnpacks message in receive bufferoutbufinto 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 MPIExceptionReturns an upper bound on the increment ofpositioneffected 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
recvoperation is returned.- Parameters:
source- rank of sourcetag- message tag- Returns:
- status object if such a message is currently available,
nullotherwise. - 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
recvoperation.- 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 MPIExceptionCreate 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 MPIExceptionFrees 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 MPIExceptionStores 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 MPIExceptionRetrieves 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 MPIExceptionDeletes 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 MPIExceptionReturns 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_GRAPHorMPI.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 MPIExceptionAbort 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 MPIExceptionCalls 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 MPIExceptionA call tobarrierblocks 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 MPIExceptionBroadcast a message from the process with rankrootto 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 rankrootto 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 MPIExceptionEach 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 MPIExceptionEach process sends the contents of its send buffer to the root process.Java binding of the MPI operation
MPI_GATHERusingMPI_IN_PLACEinstead 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_IGATHERusingMPI_IN_PLACEinstead 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 MPIExceptionExtends functionality ofgatherby 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 MPIExceptionExtends functionality ofgatherby allowing varying counts of data from each process.Java binding of the MPI operation
MPI_GATHERVusingMPI_IN_PLACEinstead 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 MPIExceptionExtends functionality ofgatherby allowing varying counts of data from each process.Java binding of the MPI operation
MPI_GATHERVusingMPI_IN_PLACEinstead 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 ofgatherby 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 ofgatherby allowing varying counts of data from each process.Java binding of the MPI operation
MPI_IGATHERVusingMPI_IN_PLACEinstead 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 ofgatherby allowing varying counts of data from each process.Java binding of the MPI operation
MPI_IGATHERVusingMPI_IN_PLACEinstead 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 MPIExceptionInverse 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 MPIExceptionInverse of the operationgather.Java binding of the MPI operation
MPI_SCATTERusingMPI_IN_PLACEinstead 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_ISCATTERusingMPI_IN_PLACEinstead 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 MPIExceptionInverse 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 MPIExceptionInverse of the operationgatherv.Java binding of the MPI operation
MPI_SCATTERVusingMPI_IN_PLACEinstead 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 MPIExceptionInverse of the operationgatherv.Java binding of the MPI operation
MPI_SCATTERVusingMPI_IN_PLACEinstead 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_ISCATTERVusingMPI_IN_PLACEinstead 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_ISCATTERVusingMPI_IN_PLACEinstead 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 MPIExceptionSimilar 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 MPIExceptionSimilar togather, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHERusingMPI_IN_PLACEinstead 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_IALLGATHERusingMPI_IN_PLACEinstead 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 MPIExceptionSimilar 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 MPIExceptionSimilar togatherv, but all processes receive the result.Java binding of the MPI operation
MPI_ALLGATHERVusingMPI_IN_PLACEinstead 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_IALLGATHERVusingMPI_IN_PLACEinstead 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 MPIExceptionExtension ofallGatherto 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 ofallGatherto 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 MPIExceptionAdds flexibility toallToAll: location of data for send is specified bysdisplsand 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 bysdisplsand 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 MPIExceptionAdds more flexibility toallToAllv: datatypes for send are specified bysendTypesand datatypes for receive are specified byrecvTypesper 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 bysendTypesand datatypes for receive are specified byrecvTypesper 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 MPIExceptionJava 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 MPIExceptionJava 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 MPIExceptionJava 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 MPIExceptionJava 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 MPIExceptionCombine 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.MINLOCandMPI.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 MPIExceptionCombine 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_REDUCEusingMPI_IN_PLACEinstead 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_IREDUCEusingMPI_IN_PLACEinstead 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 MPIExceptionSame asreduceexcept 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 MPIExceptionSame asreduceexcept that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_ALLREDUCEusingMPI_IN_PLACEinstead 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 asreduceexcept 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 asreduceexcept that the result appears in receive buffer of all process in the group.Java binding of the MPI operation
MPI_IALLREDUCEusingMPI_IN_PLACEinstead 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 MPIExceptionCombine 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 MPIExceptionCombine 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_SCATTERusingMPI_IN_PLACEinstead 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_SCATTERusingMPI_IN_PLACEinstead 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 MPIExceptionCombine 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 MPIExceptionCombine values and scatter the results.Java binding of the MPI operation
MPI_REDUCE_SCATTER_BLOCKusingMPI_IN_PLACEinstead 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_BLOCKusingMPI_IN_PLACEinstead 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 MPIExceptionApply the operation given byopelement-wise to the elements ofinBufandinOutBufwith 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 MPIExceptionSets 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 MPIExceptionReturn the print name from the communicator.- Returns:
- name of the communicator
- Throws:
MPIException- Signals that an MPI exception of some sort has occurred.
-
-