Files
Raptor/validation/operations
NiccoloN 670d6ce94f extend operation support for conv and gemm
add more tests in validation
2026-03-23 14:46:08 +01:00
..
2026-03-04 18:04:48 +01:00

Validation Operations

ONNX test models used by validate.py to verify the Raptor compiler + PIM simulator pipeline.

Generated tests can be regenerated with:

python3 validation/operations/gen_tests.py

Conv

Test Directory Input Output Kernel Stride Padding Bias Notes
Simple conv/simple [1,3,3,3] [1,1,2,2] 2x2 1 none no Basic conv, hand-crafted
With constant conv/with_constant [1,3,3,3] [1,1,3,3] 2x2 1 SAME_UPPER yes Hand-crafted, constant weight+bias
Batch 2 conv/batch_2 [2,3,3,3] [2,1,3,3] 2x2 1 SAME_UPPER yes Batched input
Kernel 3x3 conv/kernel_3x3 [1,1,5,5] [1,1,3,3] 3x3 1 none no Larger kernel
Stride 2 conv/stride_2 [1,1,6,6] [1,1,2,2] 3x3 2 none no Strided convolution
Multi channel conv/multi_channel [1,3,5,5] [1,4,3,3] 3x3 1 none no 3 in channels, 4 out channels
Pointwise 1x1 conv/pointwise_1x1 [1,8,4,4] [1,4,4,4] 1x1 1 none no Channel mixing
SAME padding 3x3 conv/same_padding_3x3 [1,1,5,5] [1,1,5,5] 3x3 1 SAME_UPPER no Spatial dims preserved
Explicit padding conv/explicit_padding [1,1,4,4] [1,1,4,4] 3x3 1 [1,1,1,1] no Symmetric explicit pads
With bias 3x3 conv/with_bias_3x3 [1,3,5,5] [1,2,3,3] 3x3 1 none yes Multi-channel with bias
Large spatial conv/large_spatial [1,1,8,8] [1,1,6,6] 3x3 1 none no Larger spatial input

Gemm

Test Directory A (input) W (weight) Output transB alpha beta Bias Notes
Default gemm/ [10,132] [132,132] [10,132] no 1 1 no Hand-crafted, square weights
Non-square gemm/non_square [4,128] [128,64] [4,64] no 1 1 no K != N
With bias gemm/with_bias [4,128] [128,128] [4,128] no 1 1 [128] Bias vector
transB gemm/transB [4,128] [64,128] [4,64] yes 1 1 no Transposed weight
Alpha/beta gemm/alpha_beta [4,64] [64,64] [4,64] no 0.5 0.25 [64] Scaled matmul + bias
Small gemm/small [2,8] [8,4] [2,4] no 1 1 no Tiny matrices
Large gemm/large [8,256] [256,128] [8,128] no 1 1 no Larger matrices
transB + bias gemm/transB_with_bias [4,128] [64,128] [4,64] yes 1 1 [64] Combined

Gemv

Test Directory Input W (weight) Output Bias Notes
Simple gemv/simple [1,132] [132,132] [1,132] no Single-sample matmul
Constant gemv/constant (none) [132,132] [1,132] no All inputs constant
Homogeneous const gemv/with_homogeneous_constant [1,132] [132,132] [1,132] [1,132] Bias matches output shape
Heterogeneous const gemv/with_heterogeneous_constant [1,132] [132,132] [1,132] [1,132] Different constant pattern
Scalar const gemv/with_scalar_constant [1,132] [132,132] [1,132] [1,1] Scalar bias, broadcast