next up previous contents
Next: Global Reduction Operations Up: Collective Communication Previous: Gather-to-all   Contents

All-to-All Scatter/Gather

void Intracomm.alltoall(Object sendbuf, int sendoffset,
                        int sendcount, Datatype sendtype,
                        Object recvbuf, int recvoffset,
                        recvcount, Datatype recvtype)
sendbuf send buffer array
sendoffset initial offset in send buffer
sendcount number of items sent to each process
sendtype datatype of 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



Extension of allgather to the case where each process sends distinct data to each of the receivers. Java binding of the MPI operation MPI_ALLTOALL.

void Intracomm.alltoallv(Object sendbuf, int sendoffset,
                         int [] sendcount, int [] sdispls,
                         Datatype sendtype,
                         Object recvbuf, int recvoffset,
                         int [] recvcount, int [] rdispls,
                         Datatype recvtype)
sendbuf send buffer array
sendoffset initial offset in send buffer
sendcounts number of items sent to each process
sdispls displacements from which to take outgoing data
sendtype datatype of each item in send buffer
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
recvtype datatype of each item in receive buffer



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. Java binding of the MPI operation MPI_ALLTOALLV.


next up previous contents
Next: Global Reduction Operations Up: Collective Communication Previous: Gather-to-all   Contents
Bryan Carpenter 2002-07-12