CPU Benchmarking #307
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
name: CPU Benchmarking | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
schedule: | |
- cron: '0 0 * * 0' | |
jobs: | |
benching: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
cpu-type: | |
- cv32e40p | |
- cv32e41p | |
- cva5 | |
- femtorv | |
- firev | |
- ibex | |
- lm32 | |
- marocchino | |
- minerva | |
- mor1kx | |
- naxriscv | |
- neorv32 | |
- picorv32 | |
- vexriscv | |
- vexriscv_smp | |
steps: | |
- {uses: actions/checkout@v2, with: { submodules: true }} | |
- uses: ./.github/benching | |
with: | |
cpu-type: ${{ matrix.cpu-type }} | |
benching_blackparrot: | |
runs-on: ubuntu-20.04 | |
steps: | |
- { uses: actions/checkout@v2, with: { submodules: true } } | |
- uses: ./.github/benching | |
with: | |
cpu-type: "blackparrot" | |
cpu-variant: "sim" | |
integrated-sram-size: 32768 | |
# benching_cva6: | |
# runs-on: ubuntu-20.04 | |
# steps: | |
# - { uses: actions/checkout@v2, with: { submodules: true } } | |
# - uses: ./.github/benching | |
# with: | |
# cpu-type: "cva6" | |
# integrated-sram-size: 32768 | |
benching_microwatt: | |
runs-on: ubuntu-20.04 | |
steps: | |
- { uses: actions/checkout@v2, with: { submodules: true } } | |
- uses: ./.github/benching | |
with: | |
cpu-type: "microwatt" | |
cpu-variant: "standard+ghdl" | |
integrated-sram-size: 32768 | |
# benching_openc906: | |
# runs-on: ubuntu-20.04 | |
# steps: | |
# - { uses: actions/checkout@v2, with: { submodules: true } } | |
# - uses: ./.github/benching | |
# with: | |
# cpu-type: "openc906" | |
# integrated-sram-size: 32768 | |
# rocket: | |
# runs-on: ubuntu-20.04 | |
# steps: | |
# - { uses: actions/checkout@v2, with: { submodules: true } } | |
# - uses: ./.github/benching | |
# with: | |
# cpu-type: "rocket" | |
# integrated-sram-size: 32768 | |
# use-cache: true | |
benching_serv: | |
runs-on: ubuntu-20.04 | |
steps: | |
- { uses: actions/checkout@v2, with: { submodules: true } } | |
- uses: ./.github/benching | |
with: | |
cpu-type: "serv" | |
threads: 1 | |
table_maker: | |
runs-on: ubuntu-20.04 | |
needs: [benching, benching_blackparrot, benching_microwatt, benching_serv] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/download-artifact@v2 | |
- name: Result aggregation | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install python3 python3-setuptools python3-pip git grep make | |
sudo pip3 install tabulate sphinx jinja2 | |
sudo pip3 install -r docs/requirements.txt | |
./table_maker.py --dirs \ | |
benching/cv32e40p_standard_32_false \ | |
benching/cv32e41p_standard_32_false \ | |
benching/cva5_standard_32_false \ | |
benching/femtorv_standard_32_false \ | |
benching/firev_standard_32_false \ | |
benching/ibex_standard_32_false \ | |
benching/lm32_standard_32_false \ | |
benching/marocchino_standard_32_false \ | |
benching/minerva_standard_32_false \ | |
benching/mor1kx_standard_32_false \ | |
benching/naxriscv_standard_32_false \ | |
benching/neorv32_standard_32_false \ | |
benching/picorv32_standard_32_false \ | |
benching/vexriscv_standard_32_false \ | |
benching/vexriscv_smp_standard_32_false \ | |
benching_blackparrot/blackparrot_sim_32_false \ | |
benching_microwatt/microwatt_standard\+ghdl_32_false \ | |
benching_serv/serv_standard_32_false \ | |
--out-dir docs/source --templates-dir docs/source/templates | |
cd docs | |
make html | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: gh-page | |
path: docs/build/html | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: aggregated-results | |
path: | | |
docs/build/* | |
- name: Deploy to gh-pages | |
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
run: | | |
cd docs/build/html | |
touch .nojekyll | |
git init | |
cp ../../../.git/config ./.git/config | |
git add . | |
git config --local user.email "push@gha" | |
git config --local user.name "GHA" | |
git commit -am "update ${{ github.sha }}" | |
git push -u origin +HEAD:gh-pages | |
rm -rf .git |