A collective operation that first performs a reduction on the given values (see Reduce<(Of <(T>)>)(array<T>(), ReductionOperation<(Of <(T>)>), Int32) from one group and then scatters the results by sending some elements to each process of the other group. 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 elements, the process with rank 1 will receive the next counts elements, and so on.Namespace: MPI
Assembly: MPI (in MPI.dll)
Version: 184.108.40.206 (220.127.116.11)
public void ReduceScatter<T>( T inValues, ReductionOperation<T> op, int counts, ref T outValues )
|Visual Basic (Declaration)|
Public Sub ReduceScatter(Of T) ( _ inValues As T(), _ op As ReductionOperation(Of T), _ counts As Integer(), _ ByRef outValues As T() _ )
public: generic<typename T> void ReduceScatter( array<T>^ inValues, ReductionOperation<T>^ op, array<int>^ counts, array<T>^% outValues )
- Type: array<
An array of values that will be reduced. This array must be the same length at every process within a group.
- Type: MPI..::.ReductionOperation<(Of <(>)>)
The operation used to combine the elements in values. This operation must be associative.
- Type: array<
An array whose ith element states the number of elements from the reduced result that will be returned to the process with rank i. This array should be the same at every process within a group (though the count values within the array need not be the same). The sum of all counts for one group must be the same as the sume of all counts for the other group.
An array of length counts[Rank] containing the reduced results destined for the calling process.
- Any serializable type.