Skip to content

inline start csr & start streamer-gemm together #1755

inline start csr & start streamer-gemm together

inline start csr & start streamer-gemm together #1755

Workflow file for this run

# 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