Table of Contents

Class SimdPerformanceAnalyzer

Namespace
DotCompute.Backends.CPU.Kernels.Simd
Assembly
DotCompute.Backends.CPU.dll

Performance analysis and metrics collection for SIMD operations. Tracks execution statistics, performance trends, and optimization effectiveness.

public sealed class SimdPerformanceAnalyzer : IDisposable
Inheritance
SimdPerformanceAnalyzer
Implements
Inherited Members
Extension Methods

Constructors

SimdPerformanceAnalyzer(ILogger<SimdPerformanceAnalyzer>)

Initializes a new instance of the SimdPerformanceAnalyzer class.

public SimdPerformanceAnalyzer(ILogger<SimdPerformanceAnalyzer> logger)

Parameters

logger ILogger<SimdPerformanceAnalyzer>

The logger.

Methods

AnalyzeTrends()

Analyzes performance trends over time.

public PerformanceTrendAnalysis AnalyzeTrends()

Returns

PerformanceTrendAnalysis

Performance trend analysis.

Dispose()

Performs dispose.

public void Dispose()

GetMetrics(string)

Gets detailed performance metrics for a specific operation type.

public PerformanceMetricSnapshot? GetMetrics(string operationType)

Parameters

operationType string

Type of operation (e.g., "execution_Avx512_large").

Returns

PerformanceMetricSnapshot?

Performance metrics or null if not found.

GetStatistics()

Gets comprehensive executor performance statistics.

public ExecutorStatistics GetStatistics()

Returns

ExecutorStatistics

RecordExecutionComplete(long, TimeSpan, SimdExecutionStrategy)

Records the completion of a kernel execution.

public void RecordExecutionComplete(long elementCount, TimeSpan executionTime, SimdExecutionStrategy strategy)

Parameters

elementCount long

Number of elements processed.

executionTime TimeSpan

Time taken for execution.

strategy SimdExecutionStrategy

Strategy used for execution.

RecordExecutionStart(long)

Records the start of a kernel execution.

public void RecordExecutionStart(long elementCount)

Parameters

elementCount long

Number of elements being processed.

RecordReductionComplete(int, TimeSpan, ReductionOperation)

Records the completion of a reduction operation.

public void RecordReductionComplete(int elementCount, TimeSpan executionTime, ReductionOperation operation)

Parameters

elementCount int

Number of elements reduced.

executionTime TimeSpan

Time taken for reduction.

operation ReductionOperation

Type of reduction operation.

RecordReductionStart(int)

Records the start of a reduction operation.

public void RecordReductionStart(int elementCount)

Parameters

elementCount int

Number of elements in reduction.

RecordScalarElements(long)

Records the number of elements processed using scalar instructions.

public void RecordScalarElements(long elements)

Parameters

elements long

Number of scalar elements.

RecordVectorizedElements(long)

Records the number of elements processed using vectorized instructions.

public void RecordVectorizedElements(long elements)

Parameters

elements long

Number of vectorized elements.

Reset()

Resets all performance counters and metrics.

public void Reset()