[This is preliminary documentation and is subject to change.]
Transmits data from every process in a communicator to every other process in the communicator.
Similar to MPI_Allgatherv(IntPtr, Int32, Int32, IntPtr, array<Int32>[]()[], array<Int32>[]()[], Int32, Int32), except that each process can send different data to
every other process. If all of your processes send the same amount of data to each other, use
the simpler MPI_Alltoall(IntPtr, Int32, Int32, IntPtr, Int32, Int32, Int32); if you need the data sent to different processes to
have different datatypes, use MPI_Alltoallw(IntPtr, array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[], IntPtr, array<Int32>[]()[], array<Int32>[]()[], array<Int32>[]()[], Int32).
See Alltoall<(Of <(T>)>)(array<T>[]()[]).
Namespace:
MPIAssembly: MPI (in MPI.dll)
Version: 0.6.0.0 (0.6.0.0)
Syntax
| C# |
|---|
public static int MPI_Alltoallv( IntPtr sendbuf, int[] sendcounts, int[] sdispls, int sendtype, IntPtr recvbuf, int[] recvcounts, int[] rdispls, int recvtype, int comm ) |
| Visual Basic (Declaration) |
|---|
Public Shared Function MPI_Alltoallv ( _ sendbuf As IntPtr, _ sendcounts As Integer(), _ sdispls As Integer(), _ sendtype As Integer, _ recvbuf As IntPtr, _ recvcounts As Integer(), _ rdispls As Integer(), _ recvtype As Integer, _ comm As Integer _ ) As Integer |
| Visual C++ |
|---|
public: static int MPI_Alltoallv( IntPtr sendbuf, array<int>^ sendcounts, array<int>^ sdispls, int sendtype, IntPtr recvbuf, array<int>^ recvcounts, array<int>^ rdispls, int recvtype, int comm ) |
Parameters
- sendbuf
- Type: System..::.IntPtr
Buffer containing the data to send from this process. The ith position in this buffer contains the data that will be sent to the process with rank i.
- sendcounts
- Type: array<
System..::.Int32
>[]()[]
An array whose ith element contains the number of elements to be send to the process with rank i.
- sdispls
- Type: array<
System..::.Int32
>[]()[]
An array whose ith element contains the offsets into sendbuf where the data destined for the process with rank i begins.
- sendtype
- Type: System..::.Int32
The type of data in sendbuf.
- recvbuf
- Type: System..::.IntPtr
Buffer that will receive data sent from other processes to this process.
- recvcounts
- Type: array<
System..::.Int32
>[]()[]
An array whose jth element contains the number of elements that will be received from the process with rank j.
- rdispls
- Type: array<
System..::.Int32
>[]()[]
An array whose jth element contains the offset into recvbuf where the data received from the process with rank j begins.
- recvtype
- Type: System..::.Int32
The type of data in recvbuf.
- comm
- Type: System..::.Int32
The communicator used for collective communication.