Class KernelExecutionMetrics
- Namespace
- DotCompute.Core.Telemetry.Metrics
- Assembly
- DotCompute.Core.dll
Contains detailed performance metrics for kernel execution operations. Provides comprehensive data about kernel efficiency and resource utilization.
public sealed class KernelExecutionMetrics
- Inheritance
-
KernelExecutionMetrics
- Inherited Members
Properties
BranchDivergence
Gets or sets the branch divergence percentage. Measures the impact of conditional branches on SIMD efficiency.
public double BranchDivergence { get; set; }
Property Value
- double
The branch divergence as a decimal (0.0 to 1.0).
CacheHitRate
Gets or sets the cache hit rate. 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).
ComputeUnitsUsed
Gets or sets the number of compute units used during execution. Indicates the parallel processing resources utilized by the kernel.
public int ComputeUnitsUsed { get; set; }
Property Value
- int
The number of compute units used.
EndTime
Gets or sets the timestamp when the kernel execution completed. Marks the end of the kernel operation.
public DateTimeOffset EndTime { get; set; }
Property Value
- DateTimeOffset
The end time as a DateTimeOffset.
ExecutionTime
Gets or sets the total execution time for the kernel. Calculated as the difference between end time and start time.
public TimeSpan ExecutionTime { get; set; }
Property Value
- TimeSpan
The execution time as a TimeSpan.
InstructionThroughput
Gets or sets the instruction throughput. Measures the rate at which instructions were executed by the kernel.
public double InstructionThroughput { get; set; }
Property Value
- double
The instruction throughput in instructions per second.
MemoryBandwidthGBPerSecond
Gets or sets the memory bandwidth utilization in gigabytes per second. Measures the rate of data transfer between the kernel and memory.
public double MemoryBandwidthGBPerSecond { get; set; }
Property Value
- double
The memory bandwidth in GB/s.
MemoryCoalescingEfficiency
Gets or sets the memory coalescing efficiency. Measures how well memory accesses were combined for optimal bandwidth utilization.
public double MemoryCoalescingEfficiency { get; set; }
Property Value
- double
The memory coalescing efficiency as a decimal (0.0 to 1.0).
MemoryLatency
Gets or sets the memory latency in milliseconds. Measures the average time for memory operations to complete.
public double MemoryLatency { get; set; }
Property Value
- double
The memory latency in milliseconds.
OccupancyPercentage
Gets or sets the occupancy percentage of the compute device. Indicates how effectively the device's parallel processing units were utilized.
public double OccupancyPercentage { get; set; }
Property Value
- double
The occupancy percentage as a decimal (0.0 to 1.0).
PowerConsumption
Gets or sets the power consumption in watts during kernel execution. Provides insights into energy efficiency of the computation.
public double PowerConsumption { get; set; }
Property Value
- double
The power consumption in watts.
RegistersPerThread
Gets or sets the number of registers used per thread. Affects occupancy and the number of threads that can run concurrently.
public int RegistersPerThread { get; set; }
Property Value
- int
The number of registers per thread.
SharedMemoryUsed
Gets or sets the amount of shared memory used in bytes. Shared memory usage affects occupancy and kernel performance.
public long SharedMemoryUsed { get; set; }
Property Value
- long
The shared memory usage in bytes.
StartTime
Gets or sets the timestamp when the kernel execution started. Marks the beginning of the kernel operation.
public DateTimeOffset StartTime { get; set; }
Property Value
- DateTimeOffset
The start time as a DateTimeOffset.
ThroughputOpsPerSecond
Gets or sets the throughput in operations per second. Measures the rate at which the kernel processed work items.
public double ThroughputOpsPerSecond { get; set; }
Property Value
- double
The throughput in operations per second.
WarpEfficiency
Gets or sets the warp efficiency percentage. Measures how effectively SIMD execution units were utilized (GPU-specific).
public double WarpEfficiency { get; set; }
Property Value
- double
The warp efficiency as a decimal (0.0 to 1.0).