inline start csr & start streamer-gemm together #1755
Workflow file for this run
This file contains 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
# Copyright 2020 ETH Zurich and University of Bologna. | |
# Licensed under the Apache License, Version 2.0, see LICENSE for details. | |
# SPDX-License-Identifier: Apache-2.0 | |
# Run functional regression checks | |
name: ci | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
jobs: | |
######## | |
# Docs # | |
######## | |
docs: | |
name: Build documentation | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/pulp-platform/snitch_cluster:main | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build docs | |
run: make docs | |
############################################## | |
# Simulate SW on Snitch Cluster w/ Verilator # | |
############################################## | |
sw-snitch-cluster-vlt: | |
name: Simulate SW on Snitch Cluster w/ Verilator | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/pulp-platform/snitch_cluster:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Install DNN Python Modules | |
run: | | |
pip3 install -r sw/dnn/requirements.txt | |
- name: Build Software | |
run: | | |
bender vendor init | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/default.hjson \ | |
SELECT_RUNTIME=rtl \ | |
SELECT_TOOLCHAIN=llvm-snitch | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/default.hjson | |
- name: Build Hardware | |
run: | | |
make -C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) \ | |
CFG_OVERRIDE=cfg/default.hjson | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: | | |
./run.py --simulator verilator \ | |
sw/runtime.yaml sw/snitch-cluster-runtime.yaml sw/custom-fp.yaml \ | |
sw/standard-fp.yaml sw/openmp.yaml sw/snitch-cluster-openmp.yaml \ | |
sw/blas.yaml sw/dnn.yaml -j | |
############################################## | |
# Simulate SW on SNAX Cluster w/ Verilator # | |
############################################## | |
sw-snax-mac-cluster-vlt-generic: | |
name: Simulate SW on SNAX MAC Cluster w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_mac.hjson | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_mac.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_mac.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml sw/snax-mac-run.yaml -j | |
sw-snax-streamer-gemm-cluster-vlt-generic: | |
name: Simulate SW on SNAX Streamer GEMM Cluster w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_streamer_gemm.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_streamer_gemm.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
sw-snax-streamer-gemm-add-c-cluster-vlt-generic: | |
name: Simulate SW on GEMM Add C w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_streamer_gemm_add_c.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_streamer_gemm_add_c.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
sw-snax-mac-mult-cluster-vlt-generic: | |
name: Simulate SW on SNAX Multiple MAC Cluster w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_mac_mult.hjson | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_mac_mult.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_mac_mult.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml sw/snax-mac-run.yaml \ | |
sw/snax-mac-mult-run.yaml -j | |
snax-alu-cluster-vlt-generic: | |
name: Simulate SW on SNAX ALU Cluster w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_alu.hjson | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_alu.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_alu.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml \ | |
sw/snax-alu-run.yaml -j | |
snax-hypercorex-cluster-vlt-generic: | |
name: SNAX Hypercorex w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
# Need this for the hypercorex packages | |
- name: Install prerequisites | |
run: | | |
pip install tqdm matplotlib | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_hypercorex.hjson | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_hypercorex.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_hypercorex.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml \ | |
sw/snax-hypercorex-run.yaml -j | |
snax_dimc-cluster-vlt-generic: | |
name: SNAX DIMC w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: 'recursive' | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_dimc.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_dimc.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
sw-snax-KUL-cluster-vlt-generic: | |
name: Build KUL-cluster HW w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: RTL GEN | |
run: | | |
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson \ | |
-C target/snitch_cluster rtl-gen | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide.hjson | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml \ | |
sw/snax-gemmx-run.yaml \ | |
sw/snax-data-reshuffler-run.yaml -j | |
snax-xdma-vlt-generic: | |
name: Simulate SW on xdma w/ Verilator (Generic LLVM) | |
runs-on: ubuntu-22.04 | |
container: | |
image: ghcr.io/kuleuven-micas/snax:main | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
submodules: "recursive" | |
- name: Generate RTL | |
run: | | |
make -C target/snitch_cluster rtl-gen \ | |
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson | |
- name: Build Hardware | |
run: | | |
make CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson \ | |
-C target/snitch_cluster bin/snitch_cluster.vlt -j$(nproc) | |
- name: Build Software | |
run: | | |
make -C target/snitch_cluster sw \ | |
CFG_OVERRIDE=cfg/snax_kul_cluster_mixed_narrow_wide_xdma.hjson | |
- name: Run Tests | |
working-directory: target/snitch_cluster | |
run: |- | |
./run.py --simulator verilator \ | |
sw/runtime.yaml \ | |
sw/snax-gemmx-run.yaml \ | |
sw/snax-xdma-run.yaml -j |