|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mpi.Comm mpi.Intracomm
public class Intracomm
Method Summary | |
---|---|
void |
Allgather(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int recvcount,
Datatype recvtype)
Similar to Gather, but all processes receive the result. |
void |
Allgatherv(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int[] recvcounts,
int[] displs,
Datatype recvtype)
Similar to Gatherv, but all processes receive the result. |
void |
Allreduce(java.lang.Object sendbuf,
int sendoffset,
java.lang.Object recvbuf,
int recvoffset,
int count,
Datatype datatype,
Op op)
Same as Reduce except that the result appears in the receive buffer of all processes in the group. |
void |
Alltoall(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int recvcount,
Datatype recvtype)
Extension of Allgather to the case where each process sends distinct data to each of the receivers. |
void |
Alltoallv(java.lang.Object sendbuf,
int sendoffset,
int[] sendcounts,
int[] sdispls,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int[] recvcounts,
int[] rdispls,
Datatype recvtype)
Adds flexibility to Alltoall: location of data for send is specified by sdispls and location to place data on receive side is specified by rdispls. |
void |
Barrier()
A call to Barrier blocks the caller until all processes in the group have called it. |
void |
Bcast(java.lang.Object buf,
int offset,
int count,
Datatype datatype,
int root)
Broadcast a message from the process with rank root to all processes of the group, itself included. |
java.lang.Object |
clone()
Duplicate this communicator. |
Cartcomm |
Create_cart(int[] dims,
boolean[] periods,
boolean reorder)
Create a Cartesian topology communicator whose group is a subset of the group of this communicator. |
Graphcomm |
Create_graph(int[] index,
int[] edges,
boolean reorder)
Create a graph topology communicator whose group is a subset of the group of this communicator. |
Intracomm |
Create(Group group)
Creates a new communicator. |
void |
Gather(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int recvcount,
Datatype recvtype,
int root)
Each process (root process included) sends the contents of its send buffer to the root process, which receives these contents in its recvbuf. |
void |
Gatherv(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int[] recvcounts,
int[] displs,
Datatype recvtype,
int root)
Extend the functionality of Gather by allowing varying counts of data from each process. |
Group |
Group()
Return group associated with a communicator. |
int |
Rank()
Rank of this process in group of this communicator. |
void |
Reduce_scatter(java.lang.Object sendbuf,
int sendoffset,
java.lang.Object recvbuf,
int recvoffset,
int[] recvcounts,
Datatype datatype,
Op op)
Combine elements in input buffer of each process using the reduce operation, and scatter the combined values over the output buffers of the processes. |
void |
Reduce(java.lang.Object sendbuf,
int sendoffset,
java.lang.Object recvbuf,
int recvoffset,
int count,
Datatype datatype,
Op op,
int root)
Combine elements in input buffer of each process using the reduce operation, and return the combined value in the output buffer of the root process. |
void |
Scan(java.lang.Object sendbuf,
int sendoffset,
java.lang.Object recvbuf,
int recvoffset,
int count,
Datatype datatype,
Op op)
Perform a prefix reduction on data distributed across the group. |
void |
Scatter(java.lang.Object sendbuf,
int sendoffset,
int sendcount,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int recvcount,
Datatype recvtype,
int root)
Inverse of the operation Gather. |
void |
Scatterv(java.lang.Object sendbuf,
int sendoffset,
int[] sendcounts,
int[] displs,
Datatype sendtype,
java.lang.Object recvbuf,
int recvoffset,
int recvcount,
Datatype recvtype,
int root)
Inverse of the operation Gatherv. |
int |
Size()
Size of group of this communicator. |
Intracomm |
Split(int color,
int key)
Partition the group associated with this communicator and create a new communicator within each subgroup. |
Methods inherited from class mpi.Comm |
---|
Abort, Bsend_init, Bsend, Compare, Create_intercomm, Delete_attr, Errorhandler_get, Errorhandler_set, Free, Get_attr, Get_name, Ibsend, Iprobe, Irecv, Irsend, Is_null, Isend, Issend, Pack_size, Pack_size, Pack, Probe, Recv_init, Recv, Rsend_init, Rsend, Send_init, Send, Sendrecv_replace, Sendrecv, Set_attr, Set_name, Ssend_init, Ssend, Test_inter, Topo_test, Unpack |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public Group Group() throws MPIException
Comm
returns: | group corresponding to this communicator |
Java binding of the MPI operation MPI_COMM_GROUP.
Group
in class Comm
MPIException
public int Rank() throws MPIException
Comm
returns: | rank of the calling process in the group of this communicator |
Java binding of the MPI operation MPI_COMM_RANK.
Rank
in class Comm
MPIException
public int Size() throws MPIException
Comm
returns: | number of processors in the group of this communicator |
Java binding of the MPI operation MPI_COMM_SIZE.
Size
in class Comm
MPIException
public java.lang.Object clone() throws MPIException
Comm
returns: | copy of this communicator |
Java binding of the MPI operation MPI_COMM_DUP.
The new communicator is "congruent" to the old one, but has a different context.
clone
in class Comm
MPIException
public Intracomm Create(Group group) throws MPIException
group | group which is a subset of the group of this communicator |
returns: | new communicator |
Java binding of the MPI operation MPI_COMM_CREATE.
This method creates a new communicator with communication group defined by group and a new context. The call is erroneous if group is not a subset of the group associated with this intra-communicator. This method returns MPI.COMM_NULL to processes that are not in group. Note that the call is to be executed by all processes in this intra-communicator, even if they do not belong to the new group. This call applies only to intra-communicators.
MPIException
public Intracomm Split(int color, int key) throws MPIException
color | control of subset assignment. Processes with the same color are in the same new communicator |
key | control of rank assignment |
returns: | new communicator |
Java binding of the MPI operation MPI_COMM_SPLIT.
This function partitions the group associated with this communicator into disjoint subgroups, one for each value of color. Each subgroup contains all processes of the same color. Within each subgroup, the processes are ranked in the order defined by the value of the argument key, with ties broken according to their rank in the old group. A new communicator is created for each subgroup and returned. A process may supply the color value MPI.UNDEFINED, in which case this method returns MPI.COMM_NULL. The value of color must be nonnegative. This call applies only to intra-communicators.
MPIException
public void Barrier() throws MPIException
Comm
Java binding of the MPI operation MPI_BARRIER.
Barrier
in class Comm
MPIException
public void Bcast(java.lang.Object buf, int offset, int count, Datatype datatype, int root) throws MPIException
Comm
buf | inout buffer array |
offset | initial offset in buffer |
count | number of items in buffer |
datatype | datatype of each item in buffer |
root | rank of broadcast root |
Java binding of the MPI operation MPI_BCAST.
Bcast
in class Comm
MPIException
public void Gather(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype, int root) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items to send |
sendtype | datatype of each item in send buffer |
recvbuf | receive buffer array (significant only at root) |
recvoffset | initial offset in receive buffer (significant only at root) |
recvcount | number of items to receive from each process |
recvtype | datatype of each item in receive buffer |
root | rank of receiving process |
Java binding of the MPI operation MPI_GATHER.
Gather
in class Comm
MPIException
public void Gatherv(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int[] recvcounts, int[] displs, Datatype recvtype, int root) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items to send |
sendtype | datatype of each item in send buffer |
recvbuf | receive buffer array (significant only at root) |
recvoffset | initial offset in receive buffer (significant only at root) |
recvcounts | number of elements received from each process (significant only at root) |
displs | displacements at which to place incoming data from each process (significant only at root) |
recvtype | datatype of each item in receive buffer (significant only at root) |
root | rank of receiving process |
Java binding of the MPI operation MPI_GATHERV.
The size of arrays recvcounts and displs should be the size of the group. Entry i of displs specifies the displacement relative to element recvoffset of recvbuf at which to place incoming data. sendtype and recvtype must be the same.
Note that if recvtype is a derived data type, elements of displs are in units of the derived type extent, (unlike recvoffset, which is a direct index into the buffer array).
Gatherv
in class Comm
MPIException
public void Scatter(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype, int root) throws MPIException
Comm
sendbuf | send buffer array (significant only at root) |
sendoffset | initial offset in send buffer |
sendcount | number of items to send to each process (significant only at root |
sendtype | datatype of each item in send buffer (significant only at root) |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcount | number of items to receive |
recvtype | datatype of each item in receive buffer |
root | rank of sending process |
Java binding of the MPI operation MPI_SCATTER.
Scatter
in class Comm
MPIException
public void Scatterv(java.lang.Object sendbuf, int sendoffset, int[] sendcounts, int[] displs, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype, int root) throws MPIException
Comm
sendbuf | send buffer array (significant only at root) |
sendoffset | initial offset in send buffer |
sendcount | number of items to send to each process |
displs | displacements from which to take outgoing data to each process |
sendtype | datatype of each item in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcount | number of items to receive |
recvtype | datatype of each item in receive buffer |
root | rank of sending process |
Java binding of the MPI operation MPI_SCATTERV.
Scatterv
in class Comm
MPIException
public void Allgather(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items to send |
sendtype | datatype of each item in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcount | number of items to receive from each process |
recvtype | datatype of each item in receive buffer |
Java binding of the MPI operation MPI_ALLGATHER.
Allgather
in class Comm
MPIException
public void Allgatherv(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int[] recvcounts, int[] displs, Datatype recvtype) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items to send |
sendtype | datatype of each item in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcounts | number of received elements from each process |
displs | displacements at which to place incoming data |
recvtype | datatype of each item in receive buffer |
Java binding of the MPI operation MPI_ALLGATHERV.
Allgatherv
in class Comm
MPIException
public void Alltoall(java.lang.Object sendbuf, int sendoffset, int sendcount, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int recvcount, Datatype recvtype) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items sent to each process |
sendtype | datatype send buffer items |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcount | number of items received from any process |
recvtype | datatype of receive buffer items |
Java binding of the MPI operation MPI_ALLTOALL.
Alltoall
in class Comm
MPIException
public void Alltoallv(java.lang.Object sendbuf, int sendoffset, int[] sendcounts, int[] sdispls, Datatype sendtype, java.lang.Object recvbuf, int recvoffset, int[] recvcounts, int[] rdispls, Datatype recvtype) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
sendcount | number of items sent to each process |
sdispls | displacements from which to take outgoing data. Entry j specifies the displacement from which to take the outgoing data destined for process j |
sendtype | datatype send buffer items |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcounts | number of elements received from each process |
rdispls | displacements at which to place incoming data. Entry i specifies the displacement at which to place the incoming data from process i |
recvtype | datatype of each item in receive buffer |
Java binding of the MPI operation MPI_ALLTOALLV.
Alltoallv
in class Comm
MPIException
public void Reduce(java.lang.Object sendbuf, int sendoffset, java.lang.Object recvbuf, int recvoffset, int count, Datatype datatype, Op op, int root) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
recvbuf | receive buffer array (significant only at root) |
recvoffset | initial offset in receive buffer |
count | number of items in send buffer |
datatype | data type of each item in send buffer |
op | reduce operation |
root | rank of root process |
Java binding of the MPI operation MPI_REDUCE.
op can be a predefined operation or an user-defined operation. The predefined operations are available in Java as MPI.MAX, MPI.MIN, MPI.SUM, MPI.PROD, MPI.LAND, MPI.BAND, MPI.LOR, MPI.BOR, MPI.LXOR, MPI.BXOR, MPI.MINLOC and MPI.MAXLOC. The operation is always assumed to be associative. The datatype must be compatible with op.
Reduce
in class Comm
MPIException
public void Allreduce(java.lang.Object sendbuf, int sendoffset, java.lang.Object recvbuf, int recvoffset, int count, Datatype datatype, Op op) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
count | number of items in send buffer |
datatype | data type of each item in send buffer |
op | reduce operation |
Java binding of the MPI operation MPI_ALLREDUCE.
Allreduce
in class Comm
MPIException
public void Reduce_scatter(java.lang.Object sendbuf, int sendoffset, java.lang.Object recvbuf, int recvoffset, int[] recvcounts, Datatype datatype, Op op) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
recvcounts | numbers of result elements distributed to each process. Array must be identical on all calling processes. |
datatype | data type of each item in send buffer |
op | reduce operation |
Java binding of the MPI operation MPI_REDUCE_SCATTER.
Reduce_scatter
in class Comm
MPIException
public void Scan(java.lang.Object sendbuf, int sendoffset, java.lang.Object recvbuf, int recvoffset, int count, Datatype datatype, Op op) throws MPIException
Comm
sendbuf | send buffer array |
sendoffset | initial offset in send buffer |
recvbuf | receive buffer array |
recvoffset | initial offset in receive buffer |
count | number of items in input buffer |
datatype | data type of each item in input buffer |
op | reduce operation |
Java binding of the MPI operation MPI_SCAN.
Scan
in class Comm
MPIException
public Graphcomm Create_graph(int[] index, int[] edges, boolean reorder) throws MPIException
index | node degrees |
edges | graph edges |
reorder | true if ranking may be reordered, false if not |
returns: | new graph topology communicator |
Java binding of the MPI operation MPI_GRAPH_CREATE.
The number of nodes in the graph, nnodes, is taken to be size of the index argument. The size of array edges must be index [nnodes - 1].
MPIException
public Cartcomm Create_cart(int[] dims, boolean[] periods, boolean reorder) throws MPIException
dims | the number of processes in each dimension |
periods | true if grid is periodic, false if not, in each dimension |
reorder | true if ranking may be reordered, false if not |
returns: | new Cartesian topology communicator |
Java binding of the MPI operation MPI_CART_CREATE.
The number of dimensions of the Cartesian grid is taken to be the size of the dims argument. The array periods must be the same size.
MPIException
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |