Table of Contents

Class CpuVectorAddKernel

Namespace
Orleans.GpuBridge.Runtime
Assembly
Orleans.GpuBridge.Runtime.dll

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

string

DisplayName

Kernel display name

public override string DisplayName { get; }

Property Value

string

IsGpuAccelerated

Whether kernel uses GPU acceleration (always false for CPU)

public override bool IsGpuAccelerated { get; }

Property Value

bool

KernelId

Kernel unique identifier

public override string KernelId { get; }

Property Value

string

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

input float[]

Input vector (float array).

cancellationToken CancellationToken

Cancellation token.

Returns

Task<float>

The sum of all elements.

ExecuteBatchAsync(float[][], CancellationToken)

Execute vector addition for batch of inputs (optimized for CPU).

public override Task<float[]> ExecuteBatchAsync(float[][] inputs, CancellationToken cancellationToken = default)

Parameters

inputs float[][]

Array of input vectors.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<float[]>

Array of sums (one per input vector).

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

inputSize int

Returns

long

GetMemoryRequirements()

Get memory requirements for vector addition.

public override KernelMemoryRequirements GetMemoryRequirements()

Returns

KernelMemoryRequirements

ValidateInput(float[])

Validate input vector.

public override KernelValidationResult ValidateInput(float[] input)

Parameters

input float[]

Returns

KernelValidationResult