Table of Contents

Struct RingKernelMetrics

Namespace
DotCompute.Abstractions.RingKernels
Assembly
DotCompute.Abstractions.dll

Performance metrics for a ring kernel.

public struct RingKernelMetrics : IEquatable<RingKernelMetrics>
Implements
Inherited Members

Properties

AvgProcessingTimeMs

Average message processing time (milliseconds).

public double AvgProcessingTimeMs { readonly get; init; }

Property Value

double

CurrentMemoryBytes

Current memory usage in bytes.

public long CurrentMemoryBytes { readonly get; init; }

Property Value

long

GpuUtilizationPercent

GPU utilization percentage (0.0 to 100.0).

public double GpuUtilizationPercent { readonly get; init; }

Property Value

double

Remarks

This is an approximate measure of how efficiently the kernel is using GPU resources. Values below 50% may indicate the kernel is memory-bound or has insufficient parallelism.

InputQueueUtilization

Average input queue utilization (0.0 to 1.0).

public double InputQueueUtilization { readonly get; init; }

Property Value

double

LaunchCount

Total number of kernel launches.

public long LaunchCount { readonly get; init; }

Property Value

long

MessagesReceived

Total messages received by this kernel.

public long MessagesReceived { readonly get; init; }

Property Value

long

MessagesSent

Total messages sent by this kernel.

public long MessagesSent { readonly get; init; }

Property Value

long

OutputQueueUtilization

Average output queue utilization (0.0 to 1.0).

public double OutputQueueUtilization { readonly get; init; }

Property Value

double

PeakMemoryBytes

Peak memory usage in bytes.

public long PeakMemoryBytes { readonly get; init; }

Property Value

long

ThroughputMsgsPerSec

Message throughput (messages per second).

public double ThroughputMsgsPerSec { readonly get; init; }

Property Value

double

Methods

Equals(RingKernelMetrics)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(RingKernelMetrics other)

Parameters

other RingKernelMetrics

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

Operators

operator ==(RingKernelMetrics, RingKernelMetrics)

Determines whether two instances are equal.

public static bool operator ==(RingKernelMetrics left, RingKernelMetrics right)

Parameters

left RingKernelMetrics
right RingKernelMetrics

Returns

bool

operator !=(RingKernelMetrics, RingKernelMetrics)

Determines whether two instances are not equal.

public static bool operator !=(RingKernelMetrics left, RingKernelMetrics right)

Parameters

left RingKernelMetrics
right RingKernelMetrics

Returns

bool