Class KernelAnalysisResult
- Namespace
- DotCompute.Core.Telemetry.Analysis
- Assembly
- DotCompute.Core.dll
Contains comprehensive analysis results for a specific kernel's performance over time. Provides statistical insights and trend analysis for kernel execution patterns.
public sealed class KernelAnalysisResult
- Inheritance
-
KernelAnalysisResult
- Inherited Members
Properties
AverageBranchDivergence
Gets or sets the average branch divergence (GPU-specific). Measures the impact of conditional branches on performance.
public double AverageBranchDivergence { get; set; }
Property Value
- double
The average branch divergence as a decimal (0.0 to 1.0).
AverageCacheHitRate
Gets or sets the average cache hit rate across all executions. Measures the effectiveness of caching for this kernel.
public double AverageCacheHitRate { get; set; }
Property Value
- double
The average cache hit rate as a decimal (0.0 to 1.0).
AverageExecutionTime
Gets or sets the average execution time across all analyzed executions. Provides a baseline measure of kernel performance.
public double AverageExecutionTime { get; set; }
Property Value
- double
The average execution time in milliseconds.
AverageMemoryBandwidth
Gets or sets the average memory bandwidth utilization. Indicates how effectively the kernel used memory bandwidth.
public double AverageMemoryBandwidth { get; set; }
Property Value
- double
The average memory bandwidth in GB/s.
AverageMemoryCoalescing
Gets or sets the average memory coalescing efficiency. Measures how well memory accesses were optimized.
public double AverageMemoryCoalescing { get; set; }
Property Value
- double
The average memory coalescing as a decimal (0.0 to 1.0).
AverageOccupancy
Gets or sets the average occupancy across all executions. Indicates how effectively the kernel utilized compute resources.
public double AverageOccupancy { get; set; }
Property Value
- double
The average occupancy as a decimal (0.0 to 1.0).
AverageThroughput
Gets or sets the average throughput across all executions. Measures the typical processing rate of the kernel.
public double AverageThroughput { get; set; }
Property Value
- double
The average throughput in operations per second.
AverageWarpEfficiency
Gets or sets the average warp efficiency (GPU-specific). Measures how effectively SIMD execution units were utilized.
public double AverageWarpEfficiency { get; set; }
Property Value
- double
The average warp efficiency as a decimal (0.0 to 1.0).
DeviceDistribution
Gets or sets the distribution of executions across different devices. Maps device IDs to the number of executions on each device.
public Dictionary<string, int> DeviceDistribution { get; init; }
Property Value
- Dictionary<string, int>
A dictionary mapping device IDs to execution counts.
ExecutionCount
Gets or sets the total number of kernel executions analyzed. Provides context for the statistical significance of the results.
public int ExecutionCount { get; set; }
Property Value
- int
The execution count as an integer.
ExecutionTimeStdDev
Gets or sets the standard deviation of execution times. Measures the variability in kernel performance.
public double ExecutionTimeStdDev { get; set; }
Property Value
- double
The execution time standard deviation in milliseconds.
KernelName
Gets or sets the name of the kernel that was analyzed. Identifies the specific compute operation this analysis covers.
public string KernelName { get; set; }
Property Value
- string
The kernel name as a string.
MaxExecutionTime
Gets or sets the maximum execution time observed. Indicates the worst-case performance for this kernel.
public double MaxExecutionTime { get; set; }
Property Value
- double
The maximum execution time in milliseconds.
Message
Gets or sets an optional message describing the analysis status. Typically used to provide error details when status is not successful.
public string? Message { get; set; }
Property Value
- string
The status message as a string or null if not provided.
MinExecutionTime
Gets or sets the minimum execution time observed. Indicates the best-case performance for this kernel.
public double MinExecutionTime { get; set; }
Property Value
- double
The minimum execution time in milliseconds.
OptimizationRecommendations
Gets or sets the list of optimization recommendations specific to this kernel. Provides actionable suggestions for improving kernel performance.
public IList<string> OptimizationRecommendations { get; }
Property Value
PerformanceTrend
Gets or sets the performance trend observed over the analysis period. Indicates whether performance is improving, stable, or degrading.
public PerformanceTrend PerformanceTrend { get; set; }
Property Value
- PerformanceTrend
The performance trend from the PerformanceTrend enumeration.
Status
Gets or sets the status of the analysis operation. Indicates whether the analysis completed successfully or encountered issues.
public AnalysisStatus Status { get; set; }
Property Value
- AnalysisStatus
The analysis status from the AnalysisStatus enumeration.
TimeWindow
Gets or sets the time window covered by this analysis. Indicates the duration of data that was analyzed.
public TimeSpan TimeWindow { get; set; }
Property Value
- TimeSpan
The time window as a TimeSpan.