Demo TinyViT compatibility with tiled Siracusa #221
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2025 ETH Zurich and University of Bologna | |
| # | |
| # SPDX-License-Identifier: Apache-2.0 | |
| --- | |
| name: CI • Siracusa (Tiled) | |
| "on": | |
| push: | |
| branches: | |
| - "**" | |
| tags: | |
| - "v*.*.*" | |
| pull_request: | |
| workflow_dispatch: | |
| inputs: | |
| docker_image_deeploy: | |
| description: "Deeploy Image to use" | |
| required: false | |
| default: "ghcr.io/pulp-platform/deeploy:devel" | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| select-env: | |
| uses: ./.github/workflows/_select-env.yml | |
| with: | |
| docker_image_deeploy: ${{ inputs.docker_image_deeploy }} | |
| siracusa-kernels-tiled-singlebuffer-L2: | |
| needs: select-env | |
| uses: ./.github/workflows/_runner-siracusa-tiled-sequential.yml | |
| with: | |
| runner: ${{ needs.select-env.outputs.runner }} | |
| docker-image: ${{ needs.select-env.outputs.image }} | |
| tests-config: | | |
| [ | |
| {"name":"testMatMul","L1":[64000,32000,16000]}, | |
| {"name":"test2DRequantizedConv","L1":[8000,6000,4000]}, | |
| {"name":"test2DRequantizedStriddedPaddedConv","L1":[600]}, | |
| {"name":"testRequantizedDWConv","L1":[2561]}, | |
| {"name":"iSoftmax","L1":[800,500,300]}, | |
| {"name":"testConcat","L1":[32000,16000,8000]}, | |
| {"name":"testRMSNorm","L1":[2048,1024,512]}, | |
| {"name":"Hardswish","L1":[750]}, | |
| {"name":"RQHardswish","L1":[750]}, | |
| {"name":"testFloatGEMM","L1":[8000]}, | |
| {"name":"testFloat2DConvolution","L1":[1200]}, | |
| {"name":"testFloat2DConvolutionBias","L1":[6000]}, | |
| {"name":"testFloat2DConvolutionZeroBias","L1":[6000]}, | |
| {"name":"testFloat2DDWConvolution","L1":[6600]}, | |
| {"name":"testFloat2DDWConvolutionBias","L1":[6600]}, | |
| {"name":"testFloat2DDWConvolutionZeroBias","L1":[6600]}, | |
| {"name":"testFloatLayerNorm","L1":[2000]}, | |
| {"name":"testFloatMaxPool","L1":[2000]}, | |
| {"name":"testFloatMatmul","L1":[2000]}, | |
| {"name":"testFloatRelu","L1":[2000]}, | |
| {"name":"testFloatReshapeWithSkipConnection","L1":[1400]}, | |
| {"name":"testFloatSoftmax","L1":[4000]}, | |
| {"name":"testFloatTranspose","L1":[2000]}, | |
| {"name":"testFloatMul","L1":[2000]}, | |
| {"name":"largeFloatAdd","L1":[220000]}, | |
| {"name":"testRQGEMMwBatch","L1":[20000]}, | |
| {"name":"testMatMulBatch","L1":[20000]} | |
| ] | |
| num-cores: 8 | |
| siracusa-kernels-tiled-doublebuffer-L2: | |
| needs: select-env | |
| uses: ./.github/workflows/_runner-siracusa-tiled-sequential.yml | |
| with: | |
| runner: ${{ needs.select-env.outputs.runner }} | |
| docker-image: ${{ needs.select-env.outputs.image }} | |
| tests-config: | | |
| [ | |
| {"name":"testMatMul","L1":[64000,32000,16000]}, | |
| {"name":"test2DRequantizedConv","L1":[8000,6000,5000]}, | |
| {"name":"testRequantizedDWConv","L1":[5121]}, | |
| {"name":"iSoftmax","L1":[1600,1000,600]}, | |
| {"name":"testConcat","L1":[64000,32000,16000]}, | |
| {"name":"testRMSNorm","L1":[4096,2048,1024]}, | |
| {"name":"Hardswish","L1":[750]}, | |
| {"name":"RQHardswish","L1":[800]}, | |
| {"name":"testFloatGEMM","L1":[8000]}, | |
| {"name":"testFloat2DConvolution","L1":[1600]}, | |
| {"name":"testFloat2DConvolutionBias","L1":[8000]}, | |
| {"name":"testFloat2DConvolutionZeroBias","L1":[8000]}, | |
| {"name":"testFloat2DDWConvolution","L1":[9000]}, | |
| {"name":"testFloat2DDWConvolutionBias","L1":[9000]}, | |
| {"name":"testFloat2DDWConvolutionZeroBias","L1":[9000]}, | |
| {"name":"testFloatLayerNorm","L1":[2000]}, | |
| {"name":"testFloatMaxPool","L1":[5000]}, | |
| {"name":"testFloatMatmul","L1":[5000]}, | |
| {"name":"testFloatRelu","L1":[20]}, | |
| {"name":"testFloatReshapeWithSkipConnection","L1":[2600]}, | |
| {"name":"testFloatSoftmax","L1":[8000]}, | |
| {"name":"testFloatTranspose","L1":[2000]}, | |
| {"name":"testFloatMul","L1":[2000]} | |
| ] | |
| num-cores: 8 | |
| double-buffer: true | |
| siracusa-models-tiled-singlebuffer-L2: | |
| needs: select-env | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| test-data: | |
| - name: "simpleRegression" | |
| L1: [45000, 30000, 15000] | |
| - name: "miniMobileNet" | |
| L1: [60000, 12000, 6000, 3000] | |
| - name: "miniMobileNetv2" | |
| L1: [60000, 16000, 12000, 8000] | |
| - name: "Attention" | |
| L1: [60000, 10000, 5000] | |
| - name: "microLlama/microLlama1" | |
| L1: [60000, 10000, 5000] | |
| - name: "microLlama/microLlama8" | |
| L1: [60000, 10000, 5000] | |
| - name: "microLlama/microLlama8_parallel" | |
| L1: [60000, 10000, 5000] | |
| - name: "MLPerf/KeywordSpotting" | |
| L1: [64000] | |
| - name: "MLPerf/ImageClassification" | |
| L1: [64000] | |
| - name: "MLPerf/AnomalyDetection" | |
| L1: [64000] | |
| - name: "CCT/CCT_1_16_16_8" | |
| L1: [2000, 64000] | |
| - name: "testTrainCCT/CCT1_Classifier_Training/CCT_1_16_16_8" | |
| L1: [4000, 64000] | |
| num-cores: [8] | |
| uses: ./.github/workflows/_runner-siracusa-tiled.yml | |
| with: | |
| runner: ${{ needs.select-env.outputs.runner }} | |
| docker-image: ${{ needs.select-env.outputs.image }} | |
| test-name: ${{ matrix.test-data.name }} | |
| num-cores: ${{ matrix.num-cores }} | |
| L1: ${{ toJson(matrix.test-data.L1) }} | |
| siracusa-models-tiled-singlebuffer-L3: | |
| needs: select-env | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| test-data: | |
| - name: "simpleRegression" | |
| L1: [45000, 30000, 16000] # SCHEREMO note | |
| - name: "miniMobileNet" | |
| L1: [60000, 12000, 6000] # SCHEREMO note | |
| - name: "miniMobileNetv2" | |
| L1: [60000, 16000, 12000, 8000] | |
| - name: "Attention" | |
| L1: [60000, 10000, 5000, 2500] | |
| - name: "Transformer" | |
| L1: [60000, 30000, 15000] | |
| - name: "microLlama/microLlama1" | |
| L1: [60000, 10000, 5000] | |
| - name: "CCT/CCT_2_32_32_128" | |
| L1: [64000, 128000] | |
| - name: "testTrainCCT/CCT1_Classifier_Training/CCT_1_16_16_128" | |
| L1: [32000, 64000] | |
| num-cores: [8] | |
| default-memory-level: ["L3"] | |
| uses: ./.github/workflows/_runner-siracusa-tiled.yml | |
| with: | |
| runner: ${{ needs.select-env.outputs.runner }} | |
| docker-image: ${{ needs.select-env.outputs.image }} | |
| test-name: ${{ matrix.test-data.name }} | |
| num-cores: ${{ matrix.num-cores }} | |
| L1: ${{ toJson(matrix.test-data.L1) }} | |
| default-memory-level: ${{ matrix.default-memory-level }} | |
| # TEMPORARILY DISABLE L3 TRANSFER DUE TO DRIVER BUG CAUSING SPORADIC CRASH | |
| siracusa-models-tiled-doublebuffer-L3: | |
| needs: select-env | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| test-data: | |
| - name: "simpleRegression" | |
| L1: [60000, 45000, 30000] | |
| - name: "miniMobileNet" | |
| L1: [60000, 24000, 12000, 6000] | |
| - name: "miniMobileNetv2" | |
| L1: [60000, 32000, 24000, 16000] | |
| - name: "Attention" | |
| L1: [60000, 20000, 10000, 5000] | |
| - name: "Transformer" | |
| L1: [60000, 30000, 15000] | |
| - name: "microLlama/microLlama1" | |
| L1: [60000, 20000, 10000] | |
| - name: "microLlama/microLlama8" | |
| L1: [60000, 20000, 10000] | |
| - name: "microLlama/microLlama8_parallel" | |
| L1: [60000, 20000, 10000] | |
| - name: "CCT/CCT_2_32_32_128" | |
| L1: [64000, 128000] | |
| - name: "testTrainCCT/CCT1_Classifier_Training/CCT_1_16_16_128" | |
| L1: [8000, 64000] | |
| num-cores: [8] | |
| double-buffer: [true] | |
| default-memory-level: ["L3"] | |
| uses: ./.github/workflows/_runner-siracusa-tiled.yml | |
| with: | |
| runner: ${{ needs.select-env.outputs.runner }} | |
| docker-image: ${{ needs.select-env.outputs.image }} | |
| test-name: ${{ matrix.test-data.name }} | |
| num-cores: ${{ matrix.num-cores }} | |
| L1: ${{ toJson(matrix.test-data.L1) }} | |
| double-buffer: ${{ matrix.double-buffer }} | |
| default-memory-level: ${{ matrix.default-memory-level }} |