[This is preliminary documentation and is subject to change.]
Scan is a collective algorithm that performs partial reductions on data provided by
each process in the communicator. Scan combines the values stored by each process into
partial results delivered to each process. The values are combined
in a user-defined way, specified via a delegate. If value(0), value(1), ..., value(N-1)
are the values provided by the N processes in the communicator, the resulting value for the process with
rank P will be value(0) op value(1) op ... op value(P). The processor with rank N-1 will
receive the same result as if one had performed a Reduce<(Of <(T>)>)(T, ReductionOperation<(Of <(T>)>), Int32)
operation with root N-1.
Scan is sometimes called an "inclusive" scan, because the result returned to each process
includes the contribution of that process. For an "exclusive" scan (that does not include the contribution
of the calling process in its result), use ExclusiveScan<(Of <(T>)>)(T, ReductionOperation<(Of <(T>)>)).
Namespace:
MPIAssembly: MPI (in MPI.dll)
Version: 0.9.0.0 (0.9.0.0)
Syntax
| C# |
|---|
public T Scan<T>( T value, ReductionOperation<T> op ) |
| Visual Basic (Declaration) |
|---|
Public Function Scan(Of T) ( _ value As T, _ op As ReductionOperation(Of T) _ ) As T |
| Visual C++ |
|---|
public: generic<typename T> T Scan( T value, ReductionOperation<T>^ op ) |
Parameters
- value
- Type: T
The value contributed by the calling process.
- op
- Type: MPI..::.ReductionOperation<(Of <(T>)>)
Operation used to combine two values from different processes.
Type Parameters
- T
- Any serializable type.