Class MPSPerformanceMetrics
- Namespace
- DotCompute.Backends.Metal.MPS
- Assembly
- DotCompute.Backends.Metal.dll
Performance metrics comparing MPS execution vs custom kernel execution.
public sealed record MPSPerformanceMetrics : IEquatable<MPSPerformanceMetrics>
- Inheritance
-
MPSPerformanceMetrics
- Implements
- Inherited Members
Properties
CustomKernelTime
Time taken by custom kernel (if measured)
public TimeSpan CustomKernelTime { get; init; }
Property Value
DataSize
Data size processed
public int DataSize { get; init; }
Property Value
GPUFamily
Device GPU family
public string GPUFamily { get; init; }
Property Value
MPSExecutionTime
Time taken by MPS execution
public TimeSpan MPSExecutionTime { get; init; }
Property Value
MPSWasFaster
Whether MPS was faster than custom kernel
public bool MPSWasFaster { get; init; }
Property Value
OperationType
Operation type that was executed
public MPSOperationType OperationType { get; init; }
Property Value
SpeedupFactor
Speedup factor (CustomTime / MPSTime)
public double SpeedupFactor { get; init; }
Property Value
Timestamp
Timestamp when measurement was taken
public DateTime Timestamp { get; init; }
Property Value
Methods
Create(MPSOperationType, TimeSpan, TimeSpan, int, string)
Creates a performance metric from execution times.
public static MPSPerformanceMetrics Create(MPSOperationType operationType, TimeSpan mpsTime, TimeSpan customTime, int dataSize, string gpuFamily)
Parameters
operationTypeMPSOperationTypempsTimeTimeSpancustomTimeTimeSpandataSizeintgpuFamilystring