From 9215231c66a26e1e81d377a5ef54755f077fcaf9 Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 16 Dec 2021 09:45:03 -0800 Subject: [PATCH 1/3] Don't initialize nvdla-workload with init-submodules nvdla-workload is very large, results in long init times --- scripts/init-submodules-no-riscv-tools-nolog.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh index 967c4ba7..13a6bbad 100755 --- a/scripts/init-submodules-no-riscv-tools-nolog.sh +++ b/scripts/init-submodules-no-riscv-tools-nolog.sh @@ -47,6 +47,7 @@ cd "$CHIPYARD_DIR" generators/sha3 \ generators/gemmini \ sims/firesim \ + software/nvdla-workload vlsi/hammer-cadence-plugins \ vlsi/hammer-synopsys-plugins \ vlsi/hammer-mentor-plugins \ From 888abc3e83284ea6c87150ffec578b407ea2891a Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 16 Dec 2021 13:01:36 -0800 Subject: [PATCH 2/3] Add init-software script --- scripts/init-software.sh | 14 ++++++++++++++ scripts/init-submodules-no-riscv-tools-nolog.sh | 6 ++++-- 2 files changed, 18 insertions(+), 2 deletions(-) create mode 100755 scripts/init-software.sh diff --git a/scripts/init-software.sh b/scripts/init-software.sh new file mode 100755 index 00000000..8a8a95a2 --- /dev/null +++ b/scripts/init-software.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# exit script if any command fails +set -e +set -o pipefail + +# Enable submodule update for software submodules +git config --unset submodule.software/nvdla-workload.update || : +git config --unset submodule.software/coremark.update || : +git config --unset submodule.software/spec2017.update || : + +# Initialize local software submodules +git submodule update --init --recursive software/nvdla-workload +git submodule update --init --recursive software/coremark +git submodule update --init --recursive software/spec2017 diff --git a/scripts/init-submodules-no-riscv-tools-nolog.sh b/scripts/init-submodules-no-riscv-tools-nolog.sh index 13a6bbad..6f9202f0 100755 --- a/scripts/init-submodules-no-riscv-tools-nolog.sh +++ b/scripts/init-submodules-no-riscv-tools-nolog.sh @@ -47,11 +47,13 @@ cd "$CHIPYARD_DIR" generators/sha3 \ generators/gemmini \ sims/firesim \ - software/nvdla-workload + software/nvdla-workload \ + software/coremark \ + software/firemarshal \ + software/spec2017 \ vlsi/hammer-cadence-plugins \ vlsi/hammer-synopsys-plugins \ vlsi/hammer-mentor-plugins \ - software/firemarshal \ fpga/fpga-shells do "$1" "${name%/}" From b3e160d3bec1411ff553fde2fae999d7f40b55dd Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Thu, 16 Dec 2021 17:23:55 -0800 Subject: [PATCH 3/3] Add documentation mentioning init-software --- docs/Software/index.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/Software/index.rst b/docs/Software/index.rst index 04b5a5fd..3662b698 100644 --- a/docs/Software/index.rst +++ b/docs/Software/index.rst @@ -13,6 +13,15 @@ official RISC-V ISA reference implementation. Qemu is a high-performance functional simulator that can run nearly as fast as native code, but can be challenging to modify. +To initialize additional software repositories, such as wrappers for Coremark, +SPEC2017, and workloads for the NVDLA, run the following script. The +submodules are located in the ``software`` directory. + +.. code-block:: shell + + ./scripts/init-software.sh + + .. toctree:: :maxdepth: 2 :caption: Contents: