Table of Contents

Class MemoryAccessAnalysisResult

Namespace
DotCompute.Core.Telemetry.Analysis
Assembly
DotCompute.Core.dll

Contains comprehensive analysis results for memory access patterns and performance. Provides insights into memory subsystem utilization and optimization opportunities.

public sealed class MemoryAccessAnalysisResult
Inheritance
MemoryAccessAnalysisResult
Inherited Members

Properties

AccessPatternDistribution

Gets or sets the distribution of memory access patterns observed. Maps access pattern names to the number of operations using each pattern.

public Dictionary<string, int> AccessPatternDistribution { get; init; }

Property Value

Dictionary<string, int>

A dictionary mapping access patterns to operation counts.

AverageBandwidth

Gets or sets the average memory bandwidth across all operations. Provides a baseline measure of memory subsystem performance.

public double AverageBandwidth { get; set; }

Property Value

double

The average bandwidth in GB/s.

AverageCacheHitRate

Gets or sets the average cache hit rate across all memory operations. Measures the effectiveness of caching mechanisms.

public double AverageCacheHitRate { get; set; }

Property Value

double

The average cache hit rate as a decimal (0.0 to 1.0).

AverageCoalescingEfficiency

Gets or sets the average memory coalescing efficiency. Measures how well memory accesses were optimized across all operations.

public double AverageCoalescingEfficiency { get; set; }

Property Value

double

The average coalescing efficiency as a decimal (0.0 to 1.0).

DeviceBandwidthUtilization

Gets or sets the bandwidth utilization per device. Maps device IDs to their memory bandwidth utilization percentages.

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

Property Value

Dictionary<string, double>

A dictionary mapping device IDs to bandwidth utilization.

MemorySegmentUsage

Gets or sets the memory segment usage statistics. Maps memory segment names to their detailed usage statistics.

public Dictionary<string, MemorySegmentStats> MemorySegmentUsage { get; init; }

Property Value

Dictionary<string, MemorySegmentStats>

A dictionary mapping segment names to usage statistics.

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.

OptimizationRecommendations

Gets or sets the list of optimization recommendations for memory access. Provides actionable suggestions for improving memory subsystem performance.

public IList<string> OptimizationRecommendations { get; }

Property Value

IList<string>

A list of optimization recommendation strings.

PeakBandwidth

Gets or sets the peak memory bandwidth observed. Indicates the maximum memory performance achieved.

public double PeakBandwidth { get; set; }

Property Value

double

The peak bandwidth in GB/s.

Status

Gets or sets the status of the memory access 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.

TotalBytesTransferred

Gets or sets the total amount of data transferred across all operations. Indicates the scale of memory activity analyzed.

public long TotalBytesTransferred { get; set; }

Property Value

long

The total bytes transferred as a long integer.

TotalOperations

Gets or sets the total number of memory operations analyzed. Provides context for the statistical significance of the results.

public int TotalOperations { get; set; }

Property Value

int

The total operation count as an integer.

TransferDirectionDistribution

Gets or sets the distribution of transfer directions observed. Maps transfer direction names to the number of operations in each direction.

public Dictionary<string, int> TransferDirectionDistribution { get; init; }

Property Value

Dictionary<string, int>

A dictionary mapping transfer directions to operation counts.