[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 the volume of data sent to each process can be different
but all of the data has the same type, use MPI_Alltoallv(IntPtr, array<Int32>[]()[], array<Int32>[]()[], Int32, IntPtr, array<Int32>[]()[], array<Int32>[]()[], 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_Alltoallw( IntPtr sendbuf, int[] sendcnts, int[] sdispls, int[] sendtypes, IntPtr recvbuf, int[] recvcnts, int[] rdispls, int[] recvtypes, int comm ) |
| Visual Basic (Declaration) |
|---|
Public Shared Function MPI_Alltoallw ( _ sendbuf As IntPtr, _ sendcnts As Integer(), _ sdispls As Integer(), _ sendtypes As Integer(), _ recvbuf As IntPtr, _ recvcnts As Integer(), _ rdispls As Integer(), _ recvtypes As Integer(), _ comm As Integer _ ) As Integer |
| Visual C++ |
|---|
public: static int MPI_Alltoallw( IntPtr sendbuf, array<int>^ sendcnts, array<int>^ sdispls, array<int>^ sendtypes, IntPtr recvbuf, array<int>^ recvcnts, array<int>^ rdispls, array<int>^ recvtypes, 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.
- sendcnts
- 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.
- sendtypes
- Type: array<
System..::.Int32
>[]()[]
An array whose ith element contains the type of data that will be sent to rank i.
- recvbuf
- Type: System..::.IntPtr
Buffer that will receive data sent from other processes to this process.
- recvcnts
- 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.
- recvtypes
- Type: array<
System..::.Int32
>[]()[]
An array whose jth element contains the type of data that will be received from the process with rank j.
- comm
- Type: System..::.Int32
The communicator used for collective communication.