Class CpuVectorAddKernel
CPU-based vector addition kernel that processes float arrays and returns their element-wise sum. Used for testing and CPU fallback scenarios.
public sealed class CpuVectorAddKernel : GpuKernelBase<float[], float>, IGpuKernel<float[], float>, IDisposable
- Inheritance
-
CpuVectorAddKernel
- Implements
- Inherited Members
Properties
BackendProvider
Backend provider name
public override string BackendProvider { get; }
Property Value
DisplayName
Kernel display name
public override string DisplayName { get; }
Property Value
IsGpuAccelerated
Whether kernel uses GPU acceleration (always false for CPU)
public override bool IsGpuAccelerated { get; }
Property Value
KernelId
Kernel unique identifier
public override string KernelId { get; }
Property Value
Methods
ExecuteAsync(float[], CancellationToken)
Executes vector addition on a float array, returning the sum of all elements.
public override Task<float> ExecuteAsync(float[] input, CancellationToken cancellationToken = default)
Parameters
inputfloat[]Input vector (float array).
cancellationTokenCancellationTokenCancellation token.
Returns
ExecuteBatchAsync(float[][], CancellationToken)
Execute vector addition for batch of inputs (optimized for CPU).
public override Task<float[]> ExecuteBatchAsync(float[][] inputs, CancellationToken cancellationToken = default)
Parameters
inputsfloat[][]Array of input vectors.
cancellationTokenCancellationTokenCancellation token.
Returns
GetEstimatedExecutionTimeMicroseconds(int)
Get estimated execution time for input size. CPU vector addition is ~1μs per 1000 elements.
public override long GetEstimatedExecutionTimeMicroseconds(int inputSize)
Parameters
inputSizeint
Returns
GetMemoryRequirements()
Get memory requirements for vector addition.
public override KernelMemoryRequirements GetMemoryRequirements()
Returns
ValidateInput(float[])
Validate input vector.
public override KernelValidationResult ValidateInput(float[] input)
Parameters
inputfloat[]