Expand description
Hybrid Summation Dispatch — Routes reductions to the appropriate accumulator.
§Dispatch Rules
| Condition | Strategy |
|---|---|
ExecMode::Parallel | BinnedAccumulator |
@nogc context | BinnedAccumulator |
ReproMode::Strict | BinnedAccumulator |
Reduction inside LinalgOp | BinnedAccumulator |
Serial + ReproMode::On | Kahan Summation |
| Serial + no vectorization | Kahan Summation |
| Not forced strict | Kahan Summation |
The dispatch path is deterministic and unit-tested.
Structs§
- Reduction
Context - Reduction context passed to the dispatch logic.
Enums§
- Exec
Mode - Execution mode for the current context.
- Repro
Mode - Reproducibility mode.
- SumStrategy
- Which summation strategy to use.
Functions§
- dispatch_
dot_ f64 - Dot product of two equal-length f64 slices using dispatched summation.
- dispatch_
sum_ f64 - Sum f64 values using the strategy appropriate for the given context.
- select_
strategy - Determine the appropriate summation strategy for the given context.