Class MemoryOperationProfile
- Namespace
- DotCompute.Core.Telemetry.Profiles
- Assembly
- DotCompute.Core.dll
Contains comprehensive performance data for a single memory operation. Captures detailed metrics about memory transfer efficiency and access patterns.
public sealed class MemoryOperationProfile
- Inheritance
-
MemoryOperationProfile
- Inherited Members
Properties
AccessPattern
Gets or sets the memory access pattern observed during the operation. Describes how memory was accessed (e.g., "Sequential", "Random", "Strided").
public string AccessPattern { get; set; }
Property Value
- string
The access pattern as a string.
BandwidthGBPerSecond
Gets or sets the memory bandwidth achieved in gigabytes per second. Measures the effective data transfer rate for this operation.
public double BandwidthGBPerSecond { get; set; }
Property Value
- double
The bandwidth in GB/s.
BytesTransferred
Gets or sets the number of bytes transferred during the operation. Indicates the size of the memory operation.
public long BytesTransferred { get; set; }
Property Value
- long
The bytes transferred as a long integer.
CacheHitRate
Gets or sets the cache hit rate during the memory operation. Measures the percentage of memory accesses that hit the cache.
public double CacheHitRate { get; set; }
Property Value
- double
The cache hit rate as a decimal (0.0 to 1.0).
CoalescingEfficiency
Gets or sets the memory coalescing efficiency. Measures how well memory accesses were combined for optimal bandwidth utilization.
public double CoalescingEfficiency { get; set; }
Property Value
- double
The coalescing efficiency as a decimal (0.0 to 1.0).
DeviceId
Gets or sets the identifier of the device where the memory operation occurred. Links the memory operation to a specific compute device.
public string DeviceId { get; set; }
Property Value
- string
The device identifier as a string.
Duration
Gets or sets the duration of the memory operation. Represents the total time taken to complete the operation.
public TimeSpan Duration { get; set; }
Property Value
- TimeSpan
The operation duration as a TimeSpan.
MemorySegment
Gets or sets the memory segment where the operation occurred. Identifies the type of memory involved (e.g., "Global", "Local", "Shared").
public string MemorySegment { get; set; }
Property Value
- string
The memory segment as a string.
OperationType
Gets or sets the type of memory operation performed. Identifies the specific kind of memory operation being profiled.
public string OperationType { get; set; }
Property Value
- string
The operation type as a string (e.g., "Copy", "Allocate", "Free").
QueueDepth
Gets or sets the queue depth during the memory operation. Indicates the number of outstanding memory operations at the time.
public int QueueDepth { get; set; }
Property Value
- int
The queue depth as an integer.
StartTime
Gets or sets the timestamp when the memory operation started. Marks the beginning of the memory operation.
public DateTimeOffset StartTime { get; set; }
Property Value
- DateTimeOffset
The start time as a DateTimeOffset.
TransferDirection
Gets or sets the direction of the memory transfer. Indicates the flow of data (e.g., "HostToDevice", "DeviceToHost", "DeviceToDevice").
public string TransferDirection { get; set; }
Property Value
- string
The transfer direction as a string.