[This is preliminary documentation and is subject to change.]

Collective operation in which every process sends data to every other process. Alltoall differs from Allgather<(Of <(T>)>)(T) in that a given process can send different data to all of the other processes, rather than contributing the same piece of data to all processes.

Namespace:  MPI
Assembly:  MPI (in MPI.dll)
Version: (


public void Alltoall<T>(
	T[] inValues,
	ref T[] outValues
Visual Basic (Declaration)
Public Sub Alltoall(Of T) ( _
	inValues As T(), _
	ByRef outValues As T() _
Visual C++
generic<typename T>
void Alltoall(
	array<T>^ inValues, 
	array<T>^% outValues


Type: array< T >[]()[]
The array of values that will be sent to each process. The ith value in this array will be sent to the process with rank i.
Type: array< T >[]()[] %
The array of values received from all of the other processes. The jth value in this array will be the value sent to the calling process from the process with rank j. Supply this argument when you have pre-allocated space for the resulting array.

Type Parameters

Any serializable type.

See Also