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:
MPIAssembly: MPI (in MPI.dll)
Version: 1.0.0.0 (1.0.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.
Type Parameters
- T
- Any serializable type.