Class MemoryUsageAnalysis
- Namespace
- DotCompute.Abstractions.Debugging.Types
- Assembly
- DotCompute.Abstractions.dll
Comprehensive memory usage analysis for kernel execution. Provides detailed insights into memory consumption patterns, efficiency, and optimization opportunities.
public sealed class MemoryUsageAnalysis
- Inheritance
-
MemoryUsageAnalysis
- Inherited Members
Properties
AccessPatterns
Gets or sets detected memory access patterns.
public IList<string> AccessPatterns { get; init; }
Property Value
AllocationOverheadPercentage
Gets or sets the memory allocation overhead percentage. Indicates how much over-allocation occurs relative to actual usage.
public double AllocationOverheadPercentage { get; set; }
Property Value
AnalysisTime
Gets or sets the analysis timestamp.
public DateTime AnalysisTime { get; set; }
Property Value
AnalysisTimeWindow
Gets or sets the time window covered by this analysis.
public TimeSpan AnalysisTimeWindow { get; set; }
Property Value
AverageMemoryUsage
Gets or sets the average memory usage across all executions in bytes.
public long AverageMemoryUsage { get; set; }
Property Value
FragmentationScore
Gets or sets the memory fragmentation score (0-1). Higher scores indicate more fragmentation issues.
public double FragmentationScore { get; set; }
Property Value
KernelName
Gets or sets the kernel name being analyzed.
public string KernelName { get; set; }
Property Value
MemoryEfficiencyScore
Gets or sets the memory efficiency score (0-1). Higher scores indicate more consistent and predictable memory usage. Calculated as 1 - coefficient_of_variation.
public double MemoryEfficiencyScore { get; set; }
Property Value
MemoryStandardDeviation
Gets or sets the standard deviation of memory usage.
public double MemoryStandardDeviation { get; set; }
Property Value
MemoryVariance
Gets or sets the variance in memory usage across executions.
public double MemoryVariance { get; set; }
Property Value
MinimumMemoryUsage
Gets or sets the minimum memory usage observed in bytes.
public long MinimumMemoryUsage { get; set; }
Property Value
PeakMemoryUsage
Gets or sets the peak memory usage observed in bytes.
public long PeakMemoryUsage { get; set; }
Property Value
PoolingEffectivenessScore
Gets or sets the memory pooling effectiveness score (0-1). Measures how effectively memory pooling reduces allocations.
public double PoolingEffectivenessScore { get; set; }
Property Value
PressureIndicators
Gets or sets memory pressure indicators.
public Dictionary<string, double> PressureIndicators { get; init; }
Property Value
Recommendations
Gets or sets memory usage recommendations.
public IList<string> Recommendations { get; init; }
Property Value
RecommendedMemoryAllocation
Gets or sets the recommended memory allocation size for optimal performance. Based on statistical analysis of historical usage patterns.
public long RecommendedMemoryAllocation { get; set; }
Property Value
SampleCount
Gets or sets the number of execution samples analyzed.
public int SampleCount { get; set; }