[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:  MPI
Assembly:  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.

See Also