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:  MPI
Assembly:  MPI (in MPI.dll)
Version: 1.0.0.0 (1.0.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.

See Also