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
loggerILogger<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
operationTypestringType 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
RecordExecutionComplete(long, TimeSpan, SimdExecutionStrategy)
Records the completion of a kernel execution.
public void RecordExecutionComplete(long elementCount, TimeSpan executionTime, SimdExecutionStrategy strategy)
Parameters
elementCountlongNumber of elements processed.
executionTimeTimeSpanTime taken for execution.
strategySimdExecutionStrategyStrategy used for execution.
RecordExecutionStart(long)
Records the start of a kernel execution.
public void RecordExecutionStart(long elementCount)
Parameters
elementCountlongNumber 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
elementCountintNumber of elements reduced.
executionTimeTimeSpanTime taken for reduction.
operationReductionOperationType of reduction operation.
RecordReductionStart(int)
Records the start of a reduction operation.
public void RecordReductionStart(int elementCount)
Parameters
elementCountintNumber of elements in reduction.
RecordScalarElements(long)
Records the number of elements processed using scalar instructions.
public void RecordScalarElements(long elements)
Parameters
elementslongNumber of scalar elements.
RecordVectorizedElements(long)
Records the number of elements processed using vectorized instructions.
public void RecordVectorizedElements(long elements)
Parameters
elementslongNumber of vectorized elements.
Reset()
Resets all performance counters and metrics.
public void Reset()