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

A collective operation that first performs a reduction on the given values (see Reduce<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), Int32) and then scatters the results by sending some elements to each process. The reduction will be performed on the entire array of values (like the array form of Reduce<(Of <(T>)>)(array<T>[]()[], ReductionOperation<(Of <(T>)>), Int32)). Then, the array will be scattered, with process i receiving counts[i] elements. The process with rank 0 will receive the first counts[0] elements, the process with rank 1 will receive the next counts[1] elements, and so on.

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

Syntax

C#
public T[] ReduceScatter<T>(
	T[] values,
	ReductionOperation<T> op,
	int[] counts
)
Visual Basic (Declaration)
Public Function ReduceScatter(Of T) ( _
	values As T(), _
	op As ReductionOperation(Of T), _
	counts As Integer() _
) As T()
Visual C++
public:
generic<typename T>
array<T>^ ReduceScatter(
	array<T>^ values, 
	ReductionOperation<T>^ op, 
	array<int>^ counts
)

Parameters

values
Type: array< T >[]()[]
An array of values that will be reduced. The length of this array must equal to sum of the counts in counts.
op
Type: MPI..::.ReductionOperation<(Of <(T>)>)
The operation used to combine the elements in values. This operation must be associative.
counts
Type: array< System..::.Int32 >[]()[]
An array whose ith element states the number of elements from the reduced result that will be returned to the process with rank i. The

Type Parameters

T
Any serializable type.

Return Value

An array of length counts[Rank] containing the reduced results destined for the calling process.

See Also