MPI_Alltoallv
--- Sends data from all to all processes, with a displacement
Input Parameters
- sendbuf
- starting address of send buffer (choice)
- sendcounts
- integer array equal to the group size
specifying the number of elements to send to each processor
- sdispls
- integer array (of length group size). Entry
j specifies the displacement (relative to sendbuf from
which to take the outgoing data destined for process j
- sendtype
- data type of send buffer elements (handle)
- recvcounts
- integer array equal to the group size
specifying the maximum number of elements that can be received from
each processor
- rdispls
- integer array (of length group size). Entry
i specifies the displacement (relative to recvbuf at
which to place the incoming data from process i
- recvtype
- data type of receive buffer elements (handle)
- comm
- communicator (handle)
Output Parameter
- recvbuf
- address of receive buffer (choice)
Synopsis
#include "mpi.h"
int MPI_Alltoallv ( sendbuf, sendcnts, sdispls, sendtype,
recvbuf, recvcnts, rdispls, recvtype, comm )
void *sendbuf;
int *sendcnts;
int *sdispls;
MPI_Datatype sendtype;
void *recvbuf;
int *recvcnts;
int *rdispls;
MPI_Datatype recvtype;
MPI_Comm comm;
Location: alltoallv.c