Merge branch 'graphics-ci' into graphics

This commit is contained in:
Hansung Kim
2024-01-26 11:16:14 -08:00
11 changed files with 43 additions and 299 deletions

View File

@@ -5,8 +5,8 @@ runs:
steps:
- name: Create conda environments
run: |
if conda env list | grep -q "envs/${{ env.conda-env-name-no-time }}"; then
echo "Using pre-existing conda environments with prefix ${{ env.conda-env-name-no-time }}"
if conda env list | grep -q "envs/${{ env.conda-env-name-no-time }}-$(date --date \"${{ env.workflow-timestamp }}\" +%Y%m%d)"; then
echo "Using pre-existing conda environments with prefix ${{ env.conda-env-name-no-time }}-$(date --date \"${{ env.workflow-timestamp }}\" +%Y%m%d)"
else
echo "Creating a conda environment for each toolchain with the toolchain installed"
conda activate base

View File

@@ -20,8 +20,7 @@ runs:
- name: Init submodules to ensure stimuli is located
run: |
conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-${{ inputs.toolchain }}
cd ${{ env.REMOTE_WORK_DIR }}
echo $PWD
echo "Running init-submodules...sh in $PWD"
./scripts/init-submodules-no-riscv-tools.sh --force
shell: bash -leo pipefail {0}

View File

@@ -11,13 +11,17 @@ set -ex
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
source $SCRIPT_DIR/defaults.sh
echo "$0: REMOTE_CHIPYARD_DIR=$REMOTE_CHIPYARD_DIR"
cd $REMOTE_CHIPYARD_DIR
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecadd.bin.elf \
ls -la $REMOTE_CHIPYARD_DIR/generators/rocket-gpu
ls -la $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecaddloop.bin.elf \
$REMOTE_CHIPYARD_DIR/sims/
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecadd.args.size64.romAddr.bin \
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecaddloop.args.n256.cores1.romAddr.bin \
$REMOTE_CHIPYARD_DIR/sims/args.bin
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecadd.input.a.size64.bin \
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecaddloop.input.a.size256.bin \
$REMOTE_CHIPYARD_DIR/sims/op_a.bin
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecadd.input.b.size64.bin \
cp -av $REMOTE_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecaddloop.input.b.size256.bin \
$REMOTE_CHIPYARD_DIR/sims/op_b.bin

View File

@@ -32,7 +32,7 @@ grouping["group-cores"]="chipyard-cva6 chipyard-ibex chipyard-rocket chipyard-he
grouping["group-peripherals"]="chipyard-dmirocket chipyard-dmiboom chipyard-spiflashwrite chipyard-mmios chipyard-nocores chipyard-manyperipherals chipyard-chiplike chipyard-tethered chipyard-symmetric"
grouping["group-accels"]="chipyard-mempress chipyard-sha3 chipyard-hwacha chipyard-gemmini chipyard-manymmioaccels chipyard-nvdla chipyard-aes256ecb"
grouping["group-constellation"]="chipyard-constellation"
grouping["group-gpu"]="chipyard-vortex chipyard-coalescer coalescer"
grouping["group-gpu"]="chipyard-radiance chipyard-coalescer coalescer"
grouping["group-tracegen"]="tracegen tracegen-boom"
grouping["group-other"]="icenet testchipip constellation rocketchip-amba rocketchip-tlsimple rocketchip-tlwidth rocketchip-tlxbar chipyard-clusters"
grouping["group-fpga"]="arty35t arty100t nexysvideo vc707 vcu118"
@@ -71,7 +71,7 @@ mapping["chipyard-nomem-scratchpad"]=" CONFIG=MMIOScratchpadOnlyRocketConfig"
mapping["chipyard-constellation"]=" CONFIG=SharedNoCConfig"
mapping["chipyard-clusters"]=" CONFIG=ClusteredRocketConfig verilog"
mapping["chipyard-aes256ecb"]=" CONFIG=AES256ECBRocketConfig"
mapping["chipyard-vortex"]=" CONFIG=RadianceROMConfig"
mapping["chipyard-radiance"]=" CONFIG=RadianceConfig"
mapping["chipyard-coalescer"]=" CONFIG=MemtraceCoreConfig"
mapping["constellation"]=" SUB_PROJECT=constellation"

View File

@@ -141,8 +141,8 @@ case $1 in
chipyard-constellation)
run_binary LOADMEM=1 BINARY=$RISCV/riscv64-unknown-elf/share/riscv-tests/benchmarks/dhrystone.riscv
;;
chipyard-vortex)
run_binary BINARY=$LOCAL_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecadd.bin.elf
chipyard-radiance)
run_binary BINARY=$LOCAL_CHIPYARD_DIR/generators/rocket-gpu/stimuli/vecaddloop.bin.elf
;;
chipyard-coalescer)
run_binary BINARY=none EXTRA_SIM_FLAGS="+memtracefile=$LOCAL_CHIPYARD_DIR/generators/rocket-gpu/tracefiles/vecadd.core1.thread4.trace"

View File

@@ -4,6 +4,7 @@ on:
push:
branches:
- graphics
- graphics-ci
defaults:
run:
@@ -12,7 +13,6 @@ defaults:
env:
tools-cache-version: v17
CI_DIR: ${{ secrets.BUILDDIR }}
REMOTE_WORK_DIR: ${{ secrets.BUILDDIR }}/cy-ci-shared/cy-${{ github.sha }}
JVM_OPTS: -Xmx3200m # Customize the JVM maximum heap limit
conda-env-name-no-time: cy-${{ github.run_id }}
workflow-timestamp: ${{ github.event.pull_request.updated_at }}
@@ -89,29 +89,29 @@ jobs:
- name: Create conda env
uses: ./.github/actions/create-conda-env
setup-repo:
name: setup-repo
needs: create-conda-env
if: needs.change-filters.outputs.needs-rtl == 'true'
runs-on: self-hosted
steps:
- name: Delete old checkout
run: |
ls -alh .
rm -rf ${{ github.workspace }}/* || true
rm -rf ${{ github.workspace }}/.* || true
ls -alh .
- uses: actions/checkout@v3
- name: Setup repo copy
run: |
git clone $GITHUB_WORKSPACE ${{ env.REMOTE_WORK_DIR }}
# setup-repo:
# name: setup-repo
# needs: create-conda-env
# if: needs.change-filters.outputs.needs-rtl == 'true'
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - uses: actions/checkout@v3
# - name: Setup repo copy
# run: |
# git clone $GITHUB_WORKSPACE ${{ env.REMOTE_WORK_DIR }}
# Sentinel job to simplify how we specify which that basic setup is complete
#
# When adding new prep jobs, please add them to `needs` below
setup-complete:
name: setup-complete
needs: setup-repo
needs: [create-conda-env]
runs-on: self-hosted
steps:
- name: Set up complete
@@ -165,129 +165,10 @@ jobs:
with:
group-key: "group-gpu"
# prepare-chipyard-accels:
# name: prepare-chipyard-accels
# needs: setup-complete
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Build RTL on self-hosted
# uses: ./.github/actions/prepare-rtl
# with:
# group-key: "group-accels"
# prepare-chipyard-other:
# name: prepare-chipyard-other
# needs: setup-complete
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Build RTL on self-hosted
# uses: ./.github/actions/prepare-rtl
# with:
# group-key: "group-other"
##########################################################################
# chipyard-spike-gemmini-run-tests:
# name: chipyard-spike-gemmini-run-tests
# needs: prepare-chipyard-accels # technically doesn't depend on RTL but should be after the build.sh for Gemmini
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Build Gemmini FireMarshal
# run: |
# conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
# cd ${{ github.workspace }} && ./scripts/init-submodules-no-riscv-tools.sh --force
# cd ${{ github.workspace }} && source ./scripts/fix-open-files.sh
# git submodule update --init software/firemarshal && cd software/firemarshal && ./init-submodules.sh
# cd ${{ github.workspace }}/generators/gemmini/software && ${{ github.workspace }}/software/firemarshal/marshal -v -d build gemmini-smoke.json
# - name: Running Gemmini FireMarshal smoke test
# run: |
# conda activate ${{ env.conda-env-name-no-time }}-$(date --date "${{ env.workflow-timestamp }}" +%Y%m%d)-riscv-tools
# cd ${{ github.workspace }}/generators/gemmini/software && ${{ github.workspace }}/software/firemarshal/marshal -v -d launch -s gemmini-smoke.json
# chipyard-rocket-run-tests:
# name: chipyard-rocket-run-tests
# needs: prepare-chipyard-cores
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-cores"
# project-key: "chipyard-rocket"
# chipyard-boom-run-tests:
# name: chipyard-boom-run-tests
# needs: prepare-chipyard-cores
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-cores"
# project-key: "chipyard-boom"
chipyard-vortex-run-tests:
name: chipyard-vortex-run-tests
chipyard-radiance-run-tests:
name: chipyard-radiance-run-tests
needs: prepare-chipyard-gpu
runs-on: self-hosted
steps:
@@ -307,7 +188,7 @@ jobs:
uses: ./.github/actions/run-tests
with:
group-key: "group-gpu"
project-key: "chipyard-vortex"
project-key: "chipyard-radiance"
chipyard-coalescer-run-tests:
name: chipyard-coalescer-run-tests
@@ -355,137 +236,6 @@ jobs:
group-key: "group-gpu"
project-key: "coalescer"
# chipyard-spike-run-tests:
# name: chipyard-spike-run-tests
# needs: prepare-chipyard-cores
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-cores"
# project-key: "chipyard-spike"
# chipyard-gemmini-run-tests:
# name: chipyard-gemmini-run-tests
# needs: prepare-chipyard-accels
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-accels"
# project-key: "chipyard-gemmini"
# chipyard-nvdla-run-tests:
# name: chipyard-nvdla-run-tests
# needs: prepare-chipyard-accels
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-accels"
# project-key: "chipyard-nvdla"
# testchipip-run-tests:
# name: testchipip-run-tests
# needs: prepare-chipyard-other
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-other"
# project-key: "testchipip"
# rocketchip-run-tests:
# name: rocketchip-run-tests
# needs: prepare-chipyard-other
# runs-on: self-hosted
# steps:
# - name: Delete old checkout
# run: |
# ls -alh .
# rm -rf ${{ github.workspace }}/* || true
# rm -rf ${{ github.workspace }}/.* || true
# ls -alh .
# - name: Checkout
# uses: actions/checkout@v3
# - name: Git workaround
# uses: ./.github/actions/git-workaround
# - name: Create conda env
# uses: ./.github/actions/create-conda-env
# - name: Run amba tests
# uses: ./.github/actions/run-tests
# with:
# group-key: "group-other"
# project-key: "rocketchip-amba"
# # Below tests segfault with verilator, work fine in VCS
# # - name: Run tlsimple tests
# # uses: ./.github/actions/run-tests
# # with:
# # group-key: "group-other"
# # project-key: "rocketchip-tlsimple"
# # - name: Run tlwidth tests
# # uses: ./.github/actions/run-tests
# # with:
# # group-key: "group-other"
# # project-key: "rocketchip-tlwidth"
# # - name: Run tlxbar tests
# # uses: ./.github/actions/run-tests
# # with:
# # group-key: "group-other"
# # project-key: "rocketchip-tlxbar"
# Sentinel job to simplify how we specify which checks need to pass in branch
# protection and in Mergify
#
@@ -493,14 +243,9 @@ jobs:
all_tests_passed:
name: "all tests passed"
needs: [
# chipyard-rocket-run-tests,
# chipyard-boom-run-tests,
chipyard-vortex-run-tests,
chipyard-radiance-run-tests,
chipyard-coalescer-run-tests,
coalescer-run-tests,
# chipyard-gemmini-run-tests,
# testchipip-run-tests,
# rocketchip-run-tests,
]
runs-on: self-hosted
steps:

2
.gitmodules vendored
View File

@@ -1,6 +1,6 @@
[submodule "rocket-chip"]
path = generators/rocket-chip
url = https://github.com/chipsalliance/rocket-chip.git
url = https://github.com/hansungk/rocket-chip.git
[submodule "testchipip"]
path = generators/testchipip
url = https://github.com/richardyrh/testchipip.git

View File

@@ -27,12 +27,8 @@ class DigitalTop(implicit p: Parameters) extends ChipyardSystem
with sifive.blocks.devices.gpio.HasPeripheryGPIO // Enables optionally adding the sifive GPIOs
with sifive.blocks.devices.spi.HasPeripherySPIFlash // Enables optionally adding the sifive SPI flash controller
with sifive.blocks.devices.spi.HasPeripherySPI // Enables optionally adding the sifive SPI port
with radiance.memory.CanHaveMemtraceCore // Enable memtrace core
with radiance.memory.CanHaveRadianceROMs // Enable argument ROMs
with radiance.memory.CanHaveMemtraceCore // Enables memtrace core
with radiance.memory.CanHaveRadianceROMs // Enables radiance argument ROMs
with icenet.CanHavePeripheryIceNIC // Enables optionally adding the IceNIC for FireSim
with chipyard.example.CanHavePeripheryInitZero // Enables optionally adding the initzero example widget
with chipyard.example.CanHavePeripheryGCD // Enables optionally adding the GCD example widget