Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
f9c7993
Reordered some float kernel tests. Clean-up gitignore file
diaconuccalin Nov 24, 2025
cad3c2e
Add various test cases for FP32 ReduceMean
diaconuccalin Nov 24, 2025
5f185fb
Extended ReduceMean binder to support all-axis reduction (so missing …
diaconuccalin Nov 24, 2025
029b598
ReduceMean parser fixes
diaconuccalin Nov 24, 2025
41711b0
Implement reduction of singleton reduced sizes in ReduceMean. Warning…
diaconuccalin Nov 25, 2025
8a73d78
Added ReduceMean pass to remove if only singleton dimension reduction…
diaconuccalin Nov 25, 2025
d1b3e4d
Improved ReduceMean template readability. Added ReduceMean test match…
diaconuccalin Nov 27, 2025
a135cfa
Reverted changes from regular reduce mean template and moved them to …
diaconuccalin Nov 27, 2025
d359fc6
Added parallelism to PULPOpen FP32 ReduceMean kernel
diaconuccalin Nov 27, 2025
4acb444
FP ReduceMean PULPOpen template fix
diaconuccalin Nov 27, 2025
bb8ed1a
Implement changes for tiling an uninitialized number of dimensions fo…
diaconuccalin Nov 27, 2025
60a41ac
Applied fixes to the PULPOpen FP32 ReduceMean template and tiling con…
diaconuccalin Dec 9, 2025
d93bf15
Fixed test naming issues. Reduced dimensions of 2 ReduceMean tests
diaconuccalin Dec 9, 2025
0e940d9
Added CI tests for double buffering and L3 for PULPOpen FP32 ReduceMean
diaconuccalin Dec 9, 2025
cc379c2
Improved comments
diaconuccalin Dec 9, 2025
5185787
Removed more restrictive ReduceMean policy constraint
diaconuccalin Dec 9, 2025
7a55995
Reintroduced more restrictive ReduceMean constraint
diaconuccalin Dec 10, 2025
849dc04
Updated changelog
diaconuccalin Dec 10, 2025
195ed2d
Apply code rabbit suggestions
diaconuccalin Dec 10, 2025
a720a15
Reorganized tests
diaconuccalin Dec 14, 2025
7d0d72d
Fixed test locations in text
diaconuccalin Dec 14, 2025
d336243
Relocated softmax
diaconuccalin Dec 14, 2025
bb1ae8a
Quickfix
diaconuccalin Dec 14, 2025
d776090
Quickfix
diaconuccalin Dec 14, 2025
85b4796
Quickfix
diaconuccalin Dec 15, 2025
1e0826e
Fix formatting
diaconuccalin Dec 15, 2025
8f8387a
Added TinyViT Slice layer test and generic slice parser quickfix
diaconuccalin Dec 15, 2025
2a4a8bc
Slice op fixes
diaconuccalin Dec 16, 2025
8cfb075
Added new slice tests for TinyViT 5M-like layers
diaconuccalin Dec 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/workflows/ci-deeploy-testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,19 +40,19 @@ jobs:
include:
- name: fail-input0
platform: Generic
test: testTypeInferenceDifferentTypes
test: Others/TypeInference
type_map: "A=int8_t B=int8_t C=int8_t"
offset_map: "A=0 B=0 C=0"
shouldFail: true
- name: fail-input2
platform: Generic
test: testTypeInferenceDifferentTypes
test: Others/TypeInference
type_map: "A=int16_t B=int8_t C=int16_t"
offset_map: "A=0 B=0 C=0"
shouldFail: true
- name: pass
platform: Generic
test: testTypeInferenceDifferentTypes
test: Others/TypeInference
type_map: "A=int16_t B=int8_t C=int32_t"
offset_map: "A=0 B=0 C=0"
shouldFail: false
Expand Down
58 changes: 29 additions & 29 deletions .github/workflows/ci-deeploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ jobs:
shell: bash
run: |
cd DeeployTest
python testMVP.py -t Tests/CCT/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=75000 --memAllocStrategy=MiniMalloc
python testMVP.py -t Tests/CCT/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=60000 --memAllocStrategy=MiniMalloc --shouldFail
python testMVP.py -t Tests/CCT/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=90000 --memAllocStrategy=TetrisRandom
python testMVP.py -t Tests/CCT/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=75000 --memAllocStrategy=TetrisRandom --shouldFail
python testMVP.py -t Tests/Models/CCT/FP32/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=75000 --memAllocStrategy=MiniMalloc
python testMVP.py -t Tests/Models/CCT/FP32/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=60000 --memAllocStrategy=MiniMalloc --shouldFail
python testMVP.py -t Tests/Models/CCT/FP32/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=90000 --memAllocStrategy=TetrisRandom
python testMVP.py -t Tests/Models/CCT/FP32/CCT_1_16_16_8 -p Siracusa --defaultMemLevel=L2 --l1=64000 --l2=75000 --memAllocStrategy=TetrisRandom --shouldFail

deeploy-state-serialization:
needs: select-env
Expand All @@ -82,10 +82,10 @@ jobs:
shell: bash
run: |
cd DeeployTest
python deeployStateEqualityTest.py -t ./Tests/simpleRegression -p QEMU-ARM
python deeployStateEqualityTest.py -t ./Tests/simpleRegression -p Siracusa
python deeployStateEqualityTest.py -t ./Tests/simpleRegression -p MemPool
python deeployStateEqualityTest.py -t ./Tests/simpleRegression -p Generic
python deeployStateEqualityTest.py -t ./Tests/Others/SimpleRegression -p QEMU-ARM
python deeployStateEqualityTest.py -t ./Tests/Others/SimpleRegression -p Siracusa
python deeployStateEqualityTest.py -t ./Tests/Others/SimpleRegression -p MemPool
python deeployStateEqualityTest.py -t ./Tests/Others/SimpleRegression -p Generic

deeploy-memory-level-extension:
needs: select-env
Expand All @@ -104,10 +104,10 @@ jobs:
shell: bash
run: |
cd DeeployTest
python testMemoryLevelExtension.py -t ./Tests/simpleRegression -p QEMU-ARM
python testMemoryLevelExtension.py -t ./Tests/simpleRegression -p Siracusa
python testMemoryLevelExtension.py -t ./Tests/simpleRegression -p MemPool
python testMemoryLevelExtension.py -t ./Tests/simpleRegression -p Generic
python testMemoryLevelExtension.py -t ./Tests/Others/SimpleRegression -p QEMU-ARM
python testMemoryLevelExtension.py -t ./Tests/Others/SimpleRegression -p Siracusa
python testMemoryLevelExtension.py -t ./Tests/Others/SimpleRegression -p MemPool
python testMemoryLevelExtension.py -t ./Tests/Others/SimpleRegression -p Generic

deeploy-tiler-extension:
needs: select-env
Expand All @@ -126,14 +126,14 @@ jobs:
shell: bash
run: |
cd DeeployTest
python testTilerExtension.py -p Siracusa -t ./Tests/simpleRegression
python testTilerExtension.py -p Siracusa -t ./Tests/simpleCNN
python testTilerExtension.py -p Siracusa -t ./Tests/testMatMul
python testTilerExtension.py -p Siracusa -t ./Tests/testMaxPool
python testTilerExtension.py -p Siracusa -t ./Tests/simpleRegression --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/simpleCNN --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/testMatMul --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/testMaxPool --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/Others/SimpleRegression
python testTilerExtension.py -p Siracusa -t ./Tests/Models/simpleCNN
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MatMul/regular
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MaxPool
python testTilerExtension.py -p Siracusa -t ./Tests/Others/SimpleRegression --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/Models/simpleCNN --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MatMul/regular --l1 2000 --shouldFail
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MaxPool --l1 2000 --shouldFail

deeploy-memory-allocation-extension:
needs: select-env
Expand All @@ -152,12 +152,12 @@ jobs:
shell: bash
run: |
cd DeeployTest
python testTilerExtension.py -p Siracusa -t ./Tests/simpleRegression
python testTilerExtension.py -p Siracusa -t ./Tests/simpleCNN
python testTilerExtension.py -p Siracusa -t ./Tests/miniMobileNet
python testTilerExtension.py -p Siracusa -t ./Tests/miniMobileNetv2
python testTilerExtension.py -p Siracusa -t ./Tests/testMatMul
python testTilerExtension.py -p Siracusa -t ./Tests/testMaxPool
python testTilerExtension.py -p Siracusa -t ./Tests/Others/SimpleRegression
python testTilerExtension.py -p Siracusa -t ./Tests/Models/simpleCNN
python testTilerExtension.py -p Siracusa -t ./Tests/Models/miniMobileNet
python testTilerExtension.py -p Siracusa -t ./Tests/Models/miniMobileNetv2
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MatMul/regular
python testTilerExtension.py -p Siracusa -t ./Tests/IntKernels/MaxPool

deeploy-typing:
needs: select-env
Expand Down Expand Up @@ -195,9 +195,9 @@ jobs:
shell: bash
run: |
cd DeeployTest
python testPrintInputOutputTransformation.py -p Generic -t ./Tests/simpleRegression
python testPrintInputOutputTransformation.py -p Siracusa -t ./Tests/simpleRegression
python testDebugPrintPass.py -p Generic -t ./Tests/simpleRegression
python testPrintInputOutputTransformation.py -p Generic -t ./Tests/Others/SimpleRegression
python testPrintInputOutputTransformation.py -p Siracusa -t ./Tests/Others/SimpleRegression
python testDebugPrintPass.py -p Generic -t ./Tests/Others/SimpleRegression

deeploy-regex-matching:
needs: select-env
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-platform-chimera.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,6 @@ jobs:
runner: ${{ needs.select-env.outputs.runner }}
docker-image: ${{ needs.select-env.outputs.image }}
test-names: |
Adder
IntKernels/Add/Regular
simulators: |
gvsoc
26 changes: 13 additions & 13 deletions .github/workflows/ci-platform-cortexm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,17 @@ jobs:
runner: ${{ needs.select-env.outputs.runner }}
docker-image: ${{ needs.select-env.outputs.image }}
test-names: |
Adder
MultIO
test1DPad
test2DPad
testMatMul
testMatMulAdd
testMaxPool
testRQConv
testReduceSum
testReduceMean
testSlice
IntKernels/Add/Regular
IntKernels/Add/MultIO
IntKernels/Pad/1D
IntKernels/Pad/2D
IntKernels/MatMul/regular
IntKernels/MatMul/add
IntKernels/MaxPool
Others/RQConv
IntKernels/ReduceSum
IntKernels/ReduceMean
IntKernels/Slice

cortexm-models:
needs: select-env
Expand All @@ -55,5 +55,5 @@ jobs:
runner: ${{ needs.select-env.outputs.runner }}
docker-image: ${{ needs.select-env.outputs.image }}
test-names: |
simpleRegression
WaveFormer
Others/SimpleRegression
Models/WaveFormer
157 changes: 100 additions & 57 deletions .github/workflows/ci-platform-generic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,50 +36,89 @@ jobs:
runner: ${{ needs.select-env.outputs.runner }}
docker-image: ${{ needs.select-env.outputs.image }}
test-names: |
Adder
MultIO
test1DConvolution
test2DConvolution
test1DDWConvolution
test2DDWConvolution
test1DPad
test2DPad
testGEMM
testMatMul
testMatMulAdd
testMaxPool
testRQConv
testRQMatMul
testReduceSum
testReduceMean
testSlice
testRequantizedDWConv
test2DRequantizedConv
iSoftmax
testFloatAdder
testFloatGEMM
testFloat2DConvolution
testFloat2DConvolutionBias
testFloat2DConvolutionZeroBias
testFloatLayerNorm
testFloatDiv
testFloat2DDWConvolution
testFloat2DDWConvolutionBias
testFloat2DDWConvolutionZeroBias
testFloatRelu
testFloatMaxPool
testFloatMatmul
testFloatReshapeWithSkipConnection
testFloatSoftmax
testFloatTranspose
testFloatMul
testFloatPowScalar
testFloatPowVector
testFloatSqrt
testFloatRMSNorm
Quant
Dequant
QuantizedLinear
FP32Kernels/Activations/ReLU
FP32Kernels/Activations/Softmax/Regular

FP32Kernels/Add/regular

FP32Kernels/Conv2D/DWBias
FP32Kernels/Conv2D/DWNoBias
FP32Kernels/Conv2D/DWZeroValuedBias

FP32Kernels/Conv2D/RegularBias
FP32Kernels/Conv2D/RegularNoBias
FP32Kernels/Conv2D/RegularZeroValuedBias

FP32Kernels/Div
FP32Kernels/GEMM/regular
FP32Kernels/MatMul
FP32Kernels/MaxPool
FP32Kernels/Mul

FP32Kernels/Norm/LayerNorm
FP32Kernels/Norm/RMSNorm

FP32Kernels/Pow/Scalar
FP32Kernels/Pow/Vector

FP32Kernels/ReduceMean/KeepDims/Add_ReduceMean
FP32Kernels/ReduceMean/KeepDims/Add_ReduceMean_Add
FP32Kernels/ReduceMean/KeepDims/AllAxes
FP32Kernels/ReduceMean/KeepDims/Axes1_2_3
FP32Kernels/ReduceMean/KeepDims/Axes1_3
FP32Kernels/ReduceMean/KeepDims/Axes2_1
FP32Kernels/ReduceMean/KeepDims/Axis0
FP32Kernels/ReduceMean/KeepDims/Axis2
FP32Kernels/ReduceMean/KeepDims/ReduceMean_Add

FP32Kernels/ReduceMean/NoKeepDims/Add_ReduceMean
FP32Kernels/ReduceMean/NoKeepDims/Add_ReduceMean_Add
FP32Kernels/ReduceMean/NoKeepDims/AllAxes
FP32Kernels/ReduceMean/NoKeepDims/Axes1_2_3
FP32Kernels/ReduceMean/NoKeepDims/Axes1_3
FP32Kernels/ReduceMean/NoKeepDims/Axes2_1
FP32Kernels/ReduceMean/NoKeepDims/Axis0
FP32Kernels/ReduceMean/NoKeepDims/Axis2
FP32Kernels/ReduceMean/NoKeepDims/ReduceMean_Add

FP32Kernels/SkipConnection/ReshapeWithSkipConnection
FP32Kernels/Sqrt
FP32Kernels/Transpose

IntKernels/Activations/Softmax/Regular

IntKernels/Add/MultIO
IntKernels/Add/Regular

IntKernels/Conv/1D/DW
IntKernels/Conv/1D/Regular

IntKernels/Conv/2D/DW
IntKernels/Conv/2D/Regular

IntKernels/GEMM

IntKernels/MatMul/add
IntKernels/MatMul/regular

IntKernels/MaxPool

IntKernels/Pad/1D
IntKernels/Pad/2D

IntKernels/ReduceMean
IntKernels/ReduceSum
IntKernels/Slice

Models/TinyViT/5M/Layers/FP32/ReduceMean

Others/Dequant
Others/Quant
Others/QuantizedLinear
Others/RequantizedConv2D
Others/RequantizedDWConv
Others/RQConv
Others/RQMatMul

generic-models:
needs: select-env
Expand All @@ -88,16 +127,20 @@ jobs:
runner: ${{ needs.select-env.outputs.runner }}
docker-image: ${{ needs.select-env.outputs.image }}
test-names: |
simpleRegression
WaveFormer
simpleCNN
ICCT
ICCT_ITA
ICCT_8
ICCT_ITA_8
miniMobileNet
miniMobileNetv2
CCT/CCT_1_16_16_8
CCT/CCT_2_32_32_128_Opset20
testFloatDemoTinyViT
Autoencoder1D
Models/Autoencoder1D

Models/CCT/FP32/CCT_1_16_16_8
Models/CCT/FP32/CCT_2_32_32_128_Opset20
Models/CCT/Int/ICCT
Models/CCT/Int/ICCT_8
Models/CCT/Int/ICCT_ITA
Models/CCT/Int/ICCT_ITA_8

Models/miniMobileNet
Models/miniMobileNetv2

Models/simpleCNN
Models/TinyViT/Demo
Models/WaveFormer

Others/SimpleRegression
Loading