Table of Contents

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

logger ILogger<SimdInstructionDispatcher>

The logger.

optimizationEngine SimdOptimizationEngine

The optimization engine.

performanceAnalyzer SimdPerformanceAnalyzer

The performance analyzer.

capabilities SimdSummary

The 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

definition KernelDefinition

Kernel definition.

input1 ReadOnlySpan<T>

First input buffer.

input2 ReadOnlySpan<T>

Second input buffer.

output Span<T>

Output buffer.

elementCount long

Number of elements to process.

Type Parameters

T

Element 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

input ReadOnlySpan<T>

Input data.

operation ReductionOperation

Reduction operation.

Returns

T

Reduced result.

Type Parameters

T

Element type.

Dispose()

Performs dispose.

public void Dispose()

PerformAdaptiveOptimization(ExecutionContext)

Performs adaptive optimization based on execution history.

public void PerformAdaptiveOptimization(ExecutionContext context)

Parameters

context ExecutionContext

Execution 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

input1 ReadOnlySpan<T>

First input buffer.

input2 ReadOnlySpan<T>

Second input buffer.

output Span<T>

Output buffer.

elementCount long

Number of elements.

Type Parameters

T

Element type.