Table of Contents

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

IList<string>

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

double

AnalysisTime

Gets or sets the analysis timestamp.

public DateTime AnalysisTime { get; set; }

Property Value

DateTime

AnalysisTimeWindow

Gets or sets the time window covered by this analysis.

public TimeSpan AnalysisTimeWindow { get; set; }

Property Value

TimeSpan

AverageMemoryUsage

Gets or sets the average memory usage across all executions in bytes.

public long AverageMemoryUsage { get; set; }

Property Value

long

FragmentationScore

Gets or sets the memory fragmentation score (0-1). Higher scores indicate more fragmentation issues.

public double FragmentationScore { get; set; }

Property Value

double

KernelName

Gets or sets the kernel name being analyzed.

public string KernelName { get; set; }

Property Value

string

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

double

MemoryStandardDeviation

Gets or sets the standard deviation of memory usage.

public double MemoryStandardDeviation { get; set; }

Property Value

double

MemoryVariance

Gets or sets the variance in memory usage across executions.

public double MemoryVariance { get; set; }

Property Value

double

MinimumMemoryUsage

Gets or sets the minimum memory usage observed in bytes.

public long MinimumMemoryUsage { get; set; }

Property Value

long

PeakMemoryUsage

Gets or sets the peak memory usage observed in bytes.

public long PeakMemoryUsage { get; set; }

Property Value

long

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

double

PressureIndicators

Gets or sets memory pressure indicators.

public Dictionary<string, double> PressureIndicators { get; init; }

Property Value

Dictionary<string, double>

Recommendations

Gets or sets memory usage recommendations.

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

Property Value

IList<string>

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

long

SampleCount

Gets or sets the number of execution samples analyzed.

public int SampleCount { get; set; }

Property Value

int