Table of Contents

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

AcceleratorType

Anomalies

Gets or sets detected performance anomalies.

public IList<PerformanceAnomaly> Anomalies { get; init; }

Property Value

IList<PerformanceAnomaly>

AverageExecutionTime

Gets or sets the average execution time.

public TimeSpan AverageExecutionTime { get; set; }

Property Value

TimeSpan

AverageMemoryUsage

Gets or sets the average memory usage in bytes.

public long AverageMemoryUsage { get; set; }

Property Value

long

AverageThroughput

Gets or sets the average throughput in operations per second.

public double AverageThroughput { get; set; }

Property Value

double

BackendType

Gets or sets the backend type this profile is for.

public string BackendType { get; set; }

Property Value

string

Bottlenecks

Gets or sets identified bottlenecks.

public IList<BottleneckType> Bottlenecks { get; init; }

Property Value

IList<BottleneckType>

EstimatedExecutionTimeMs

Gets or sets the estimated execution time in milliseconds. Used for compatibility with algorithm performance profiles.

public long EstimatedExecutionTimeMs { get; set; }

Property Value

long

ExecutionCount

Gets or sets the total number of executions profiled.

public int ExecutionCount { get; set; }

Property Value

int

ExecutionTimeStdDev

Gets or sets the standard deviation of execution times.

public TimeSpan ExecutionTimeStdDev { get; set; }

Property Value

TimeSpan

FailedExecutions

Gets or sets the number of failed executions.

public int FailedExecutions { get; set; }

Property Value

int

FirstExecutionTime

Gets or sets the first execution timestamp.

public DateTime FirstExecutionTime { get; set; }

Property Value

DateTime

KernelName

Gets or sets the kernel name.

public string KernelName { get; set; }

Property Value

string

LastExecutionTime

Gets or sets the most recent execution timestamp.

public DateTime LastExecutionTime { get; set; }

Property Value

DateTime

MaxExecutionTime

Gets or sets the maximum execution time observed.

public TimeSpan MaxExecutionTime { get; set; }

Property Value

TimeSpan

MedianExecutionTime

Gets or sets the median execution time.

public TimeSpan MedianExecutionTime { get; set; }

Property Value

TimeSpan

MemoryRequirementMB

Gets or sets the memory requirement in megabytes. Used for compatibility with algorithm performance profiles.

public long MemoryRequirementMB { get; set; }

Property Value

long

Metadata

Gets or sets the profile metadata.

public Dictionary<string, object> Metadata { get; init; }

Property Value

Dictionary<string, object>

MinExecutionTime

Gets or sets the minimum execution time observed.

public TimeSpan MinExecutionTime { get; set; }

Property Value

TimeSpan

PeakMemoryUsage

Gets or sets the peak memory usage observed in bytes.

public long PeakMemoryUsage { get; set; }

Property Value

long

PeakThroughput

Gets or sets the peak throughput observed in operations per second.

public double PeakThroughput { get; set; }

Property Value

double

Percentile95ExecutionTime

Gets or sets the 95th percentile execution time.

public TimeSpan Percentile95ExecutionTime { get; set; }

Property Value

TimeSpan

Percentile99ExecutionTime

Gets or sets the 99th percentile execution time.

public TimeSpan Percentile99ExecutionTime { get; set; }

Property Value

TimeSpan

PerformanceTrend

Gets or sets the performance trend direction.

public TrendDirection PerformanceTrend { get; set; }

Property Value

TrendDirection

ProfileTimeSpan

Gets or sets the time span covered by this profile.

public TimeSpan ProfileTimeSpan { get; set; }

Property Value

TimeSpan

Recommendations

Gets or sets optimization recommendations.

public IList<string> Recommendations { get; init; }

Property Value

IList<string>

SuccessRate

Gets or sets the success rate (0-1).

public double SuccessRate { get; set; }

Property Value

double

SuccessfulExecutions

Gets or sets the number of successful executions.

public int SuccessfulExecutions { get; set; }

Property Value

int

TrendConfidence

Gets or sets the trend confidence score (0-1).

public double TrendConfidence { get; set; }

Property Value

double