Skip to content
Merged
Show file tree
Hide file tree
Changes from 26 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
05fc8aa
Reordered some float kernel tests. Clean-up gitignore file
diaconuccalin Nov 24, 2025
4079ccd
Add various test cases for FP32 ReduceMean
diaconuccalin Nov 24, 2025
8417a54
Extended ReduceMean binder to support all-axis reduction (so missing …
diaconuccalin Nov 24, 2025
6853ac5
ReduceMean parser fixes
diaconuccalin Nov 24, 2025
b66ca26
Implement reduction of singleton reduced sizes in ReduceMean. Warning…
diaconuccalin Nov 25, 2025
a568ff9
Added ReduceMean pass to remove if only singleton dimension reduction…
diaconuccalin Nov 25, 2025
a0b82c0
Improved ReduceMean template readability. Added ReduceMean test match…
diaconuccalin Nov 27, 2025
ab1ad52
Reverted changes from regular reduce mean template and moved them to …
diaconuccalin Nov 27, 2025
5ce3574
Added parallelism to PULPOpen FP32 ReduceMean kernel
diaconuccalin Nov 27, 2025
26070c7
FP ReduceMean PULPOpen template fix
diaconuccalin Nov 27, 2025
12b4c07
Implement changes for tiling an uninitialized number of dimensions fo…
diaconuccalin Nov 27, 2025
81eb8a1
Applied fixes to the PULPOpen FP32 ReduceMean template and tiling con…
diaconuccalin Dec 9, 2025
c601384
Fixed test naming issues. Reduced dimensions of 2 ReduceMean tests
diaconuccalin Dec 9, 2025
49c590e
Added CI tests for double buffering and L3 for PULPOpen FP32 ReduceMean
diaconuccalin Dec 9, 2025
0199be1
Improved comments
diaconuccalin Dec 9, 2025
654f451
Removed more restrictive ReduceMean policy constraint
diaconuccalin Dec 9, 2025
ac928aa
Reintroduced more restrictive ReduceMean constraint
diaconuccalin Dec 10, 2025
ecf38e4
Updated changelog
diaconuccalin Dec 10, 2025
82c33aa
Apply code rabbit suggestions
diaconuccalin Dec 10, 2025
a9e09ae
Reorganized tests
diaconuccalin Dec 14, 2025
e3830ad
Fixed test locations in text
diaconuccalin Dec 14, 2025
dd8973e
Relocated softmax
diaconuccalin Dec 14, 2025
2be214c
Quickfix
diaconuccalin Dec 14, 2025
d2762ad
Quickfix
diaconuccalin Dec 14, 2025
9898f37
Quickfix
diaconuccalin Dec 15, 2025
4fca212
Fix formatting
diaconuccalin Dec 15, 2025
3fcc048
New test reordering and post-merge fixes
diaconuccalin Dec 15, 2025
5b8afcf
Format fix
diaconuccalin Dec 15, 2025
a0cb405
Fix formatting
diaconuccalin Dec 15, 2025
19c8ed4
Move Tests
Xeratec Dec 21, 2025
d88860b
Adapt workflows
Xeratec Dec 21, 2025
9c7da3a
Update ReadMe
Xeratec Dec 21, 2025
6cd45a7
Fix errors
Xeratec Dec 21, 2025
3cff86f
Fix errors
Xeratec Dec 22, 2025
a7d0483
Remove duplicated test
Xeratec Dec 23, 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
Loading