Class SimdInstructionDispatcher
- Namespace
- DotCompute.Backends.CPU.Kernels.Simd
- Assembly
- DotCompute.Backends.CPU.dll
SIMD instruction dispatcher responsible for coordinating execution across different instruction sets and managing the execution pipeline.
public sealed class SimdInstructionDispatcher : IDisposable
- Inheritance
-
SimdInstructionDispatcher
- Implements
- Inherited Members
- Extension Methods
Constructors
SimdInstructionDispatcher(ILogger<SimdInstructionDispatcher>, SimdOptimizationEngine, SimdPerformanceAnalyzer, SimdSummary)
Initializes a new instance of the SimdInstructionDispatcher class.
public SimdInstructionDispatcher(ILogger<SimdInstructionDispatcher> logger, SimdOptimizationEngine optimizationEngine, SimdPerformanceAnalyzer performanceAnalyzer, SimdSummary capabilities)
Parameters
loggerILogger<SimdInstructionDispatcher>The logger.
optimizationEngineSimdOptimizationEngineThe optimization engine.
performanceAnalyzerSimdPerformanceAnalyzerThe performance analyzer.
capabilitiesSimdSummaryThe capabilities.
Methods
DispatchExecution<T>(KernelDefinition, ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>, long)
Dispatches kernel execution using optimal SIMD strategy.
public void DispatchExecution<T>(KernelDefinition definition, ReadOnlySpan<T> input1, ReadOnlySpan<T> input2, Span<T> output, long elementCount) where T : unmanaged
Parameters
definitionKernelDefinitionKernel definition.
input1ReadOnlySpan<T>First input buffer.
input2ReadOnlySpan<T>Second input buffer.
outputSpan<T>Output buffer.
elementCountlongNumber of elements to process.
Type Parameters
TElement type (must be unmanaged).
DispatchReduction<T>(ReadOnlySpan<T>, ReductionOperation)
Dispatches reduction operation using optimal SIMD strategy.
public T DispatchReduction<T>(ReadOnlySpan<T> input, ReductionOperation operation) where T : unmanaged
Parameters
inputReadOnlySpan<T>Input data.
operationReductionOperationReduction operation.
Returns
- T
Reduced result.
Type Parameters
TElement type.
Dispose()
Performs dispose.
public void Dispose()
PerformAdaptiveOptimization(ExecutionContext)
Performs adaptive optimization based on execution history.
public void PerformAdaptiveOptimization(ExecutionContext context)
Parameters
contextExecutionContextExecution context.
ValidateExecutionParameters<T>(ReadOnlySpan<T>, ReadOnlySpan<T>, Span<T>, long)
Validates execution parameters before dispatching.
public static void ValidateExecutionParameters<T>(ReadOnlySpan<T> input1, ReadOnlySpan<T> input2, Span<T> output, long elementCount) where T : unmanaged
Parameters
input1ReadOnlySpan<T>First input buffer.
input2ReadOnlySpan<T>Second input buffer.
outputSpan<T>Output buffer.
elementCountlongNumber of elements.
Type Parameters
TElement type.