HuberLossGpuTests

public async Task TestCpuFallback()

Language: C#

Test 1: Verify HuberLoss computation on CPU (fallback)

Tests that the CPU fallback implementation works correctly.

This is the baseline for GPU comparison.

public async Task TestGpuVsCpu()

Language: C#

Test 2: Verify GPU-accelerated HuberLoss matches CPU

Tests that GPU computation produces same results as CPU.

This verifies that GPU ops (AbsAsync, WhereAsync, etc.) are correct.

public async Task TestGradientComputation()

Language: C#

Test 3: Verify gradient computation

Tests that gradients are computed correctly for both regions:

  • Quadratic region (|diff| <= delta): grad = diff

  • Linear region (|diff| > delta): grad = delta * sign(diff)

public async Task TestDeltaThreshold()

Language: C#

Test 4: Verify Huber loss regions

Tests that different delta values correctly separate quadratic and linear regions.

public async Task TestGpuOperationChain()

Language: C#

Test 5: Verify GPU operations chain

Tests that the GPU operation chain works correctly:

SubtractAsync -> AbsAsync -> LessEqualAsync -> WhereAsync -> SumAsync