Class PerformanceProfile
- Namespace
- DotCompute.Abstractions.Debugging.Types
- Assembly
- DotCompute.Abstractions.dll
Comprehensive performance profile for a kernel across multiple executions. Tracks historical performance data and trends for optimization guidance.
public sealed class PerformanceProfile
- Inheritance
-
PerformanceProfile
- Inherited Members
Properties
AcceleratorType
Gets or sets the accelerator type.
public AcceleratorType AcceleratorType { get; set; }
Property Value
Anomalies
Gets or sets detected performance anomalies.
public IList<PerformanceAnomaly> Anomalies { get; init; }
Property Value
AverageExecutionTime
Gets or sets the average execution time.
public TimeSpan AverageExecutionTime { get; set; }
Property Value
AverageMemoryUsage
Gets or sets the average memory usage in bytes.
public long AverageMemoryUsage { get; set; }
Property Value
AverageThroughput
Gets or sets the average throughput in operations per second.
public double AverageThroughput { get; set; }
Property Value
BackendType
Gets or sets the backend type this profile is for.
public string BackendType { get; set; }
Property Value
Bottlenecks
Gets or sets identified bottlenecks.
public IList<BottleneckType> Bottlenecks { get; init; }
Property Value
EstimatedExecutionTimeMs
Gets or sets the estimated execution time in milliseconds. Used for compatibility with algorithm performance profiles.
public long EstimatedExecutionTimeMs { get; set; }
Property Value
ExecutionCount
Gets or sets the total number of executions profiled.
public int ExecutionCount { get; set; }
Property Value
ExecutionTimeStdDev
Gets or sets the standard deviation of execution times.
public TimeSpan ExecutionTimeStdDev { get; set; }
Property Value
FailedExecutions
Gets or sets the number of failed executions.
public int FailedExecutions { get; set; }
Property Value
FirstExecutionTime
Gets or sets the first execution timestamp.
public DateTime FirstExecutionTime { get; set; }
Property Value
KernelName
Gets or sets the kernel name.
public string KernelName { get; set; }
Property Value
LastExecutionTime
Gets or sets the most recent execution timestamp.
public DateTime LastExecutionTime { get; set; }
Property Value
MaxExecutionTime
Gets or sets the maximum execution time observed.
public TimeSpan MaxExecutionTime { get; set; }
Property Value
MedianExecutionTime
Gets or sets the median execution time.
public TimeSpan MedianExecutionTime { get; set; }
Property Value
MemoryRequirementMB
Gets or sets the memory requirement in megabytes. Used for compatibility with algorithm performance profiles.
public long MemoryRequirementMB { get; set; }
Property Value
Metadata
Gets or sets the profile metadata.
public Dictionary<string, object> Metadata { get; init; }
Property Value
MinExecutionTime
Gets or sets the minimum execution time observed.
public TimeSpan MinExecutionTime { get; set; }
Property Value
PeakMemoryUsage
Gets or sets the peak memory usage observed in bytes.
public long PeakMemoryUsage { get; set; }
Property Value
PeakThroughput
Gets or sets the peak throughput observed in operations per second.
public double PeakThroughput { get; set; }
Property Value
Percentile95ExecutionTime
Gets or sets the 95th percentile execution time.
public TimeSpan Percentile95ExecutionTime { get; set; }
Property Value
Percentile99ExecutionTime
Gets or sets the 99th percentile execution time.
public TimeSpan Percentile99ExecutionTime { get; set; }
Property Value
PerformanceTrend
Gets or sets the performance trend direction.
public TrendDirection PerformanceTrend { get; set; }
Property Value
ProfileTimeSpan
Gets or sets the time span covered by this profile.
public TimeSpan ProfileTimeSpan { get; set; }
Property Value
Recommendations
Gets or sets optimization recommendations.
public IList<string> Recommendations { get; init; }
Property Value
SuccessRate
Gets or sets the success rate (0-1).
public double SuccessRate { get; set; }
Property Value
SuccessfulExecutions
Gets or sets the number of successful executions.
public int SuccessfulExecutions { get; set; }
Property Value
TrendConfidence
Gets or sets the trend confidence score (0-1).
public double TrendConfidence { get; set; }