This commit is contained in:
Geza Lore 2026-03-30 10:23:40 +02:00 committed by GitHub
commit 4697ec32f0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 80 additions and 64 deletions

View File

@ -77,32 +77,32 @@ jobs:
max-parallel: ${{ github.event == 'schedule' && 2 || 7 }}
matrix:
cases:
- "BlackParrot:1x1:*"
- "BlackParrot:4x4:*"
- "Caliptra:default:*"
- "NVDLA:*"
- "OpenPiton:1x1:*"
- "OpenPiton:4x4:*"
- "OpenTitan:*"
- "VeeR-EH1:asic*"
#- "BlackParrot:1x1:*"
#- "BlackParrot:4x4:*"
#- "Caliptra:default:*"
#- "NVDLA:*"
#- "OpenPiton:1x1:*"
#- "OpenPiton:4x4:*"
#- "OpenTitan:*"
#- "VeeR-EH1:asic*"
- "VeeR-EH1:default*"
- "VeeR-EH1:hiperf*"
- "VeeR-EH2:asic*"
- "VeeR-EH2:default*"
- "VeeR-EH2:hiperf*"
- "VeeR-EL2:asic*"
- "VeeR-EL2:default*"
- "VeeR-EL2:hiperf*"
- "Vortex:mini:*"
- "Vortex:sane:*"
- "XiangShan:default-chisel3:* !*:linux"
- "XiangShan:default-chisel6:* !*:linux"
- "XiangShan:mini-chisel3:* !*:linux"
- "XiangShan:mini-chisel6:* !*:linux"
#- "VeeR-EH1:hiperf*"
#- "VeeR-EH2:asic*"
#- "VeeR-EH2:default*"
#- "VeeR-EH2:hiperf*"
#- "VeeR-EL2:asic*"
#- "VeeR-EL2:default*"
#- "VeeR-EL2:hiperf*"
#- "Vortex:mini:*"
#- "Vortex:sane:*"
#- "XiangShan:default-chisel3:* !*:linux"
#- "XiangShan:default-chisel6:* !*:linux"
#- "XiangShan:mini-chisel3:* !*:linux"
#- "XiangShan:mini-chisel6:* !*:linux"
- "XuanTie-E902:*"
- "XuanTie-E906:*"
- "XuanTie-C906:*"
- "XuanTie-C910:*"
#- "XuanTie-E906:*"
#- "XuanTie-C906:*"
#- "XuanTie-C910:*"
run-clang:
name: Run Clang | ${{ matrix.cases }}
@ -121,32 +121,32 @@ jobs:
max-parallel: ${{ github.event == 'schedule' && 2 || 7 }}
matrix:
cases:
- "BlackParrot:1x1:*"
- "BlackParrot:4x4:*"
- "Caliptra:default:*"
- "NVDLA:*"
- "OpenPiton:1x1:*"
- "OpenPiton:4x4:*"
- "OpenTitan:*"
- "VeeR-EH1:asic*"
#- "BlackParrot:1x1:*"
#- "BlackParrot:4x4:*"
#- "Caliptra:default:*"
#- "NVDLA:*"
#- "OpenPiton:1x1:*"
#- "OpenPiton:4x4:*"
#- "OpenTitan:*"
#- "VeeR-EH1:asic*"
- "VeeR-EH1:default*"
- "VeeR-EH1:hiperf*"
- "VeeR-EH2:asic*"
- "VeeR-EH2:default*"
- "VeeR-EH2:hiperf*"
- "VeeR-EL2:asic*"
- "VeeR-EL2:default*"
- "VeeR-EL2:hiperf*"
- "Vortex:mini:*"
- "Vortex:sane:*"
- "XiangShan:default-chisel3:* !*:linux"
- "XiangShan:default-chisel6:* !*:linux"
- "XiangShan:mini-chisel3:* !*:linux"
- "XiangShan:mini-chisel6:* !*:linux"
#- "VeeR-EH1:hiperf*"
#- "VeeR-EH2:asic*"
#- "VeeR-EH2:default*"
#- "VeeR-EH2:hiperf*"
#- "VeeR-EL2:asic*"
#- "VeeR-EL2:default*"
#- "VeeR-EL2:hiperf*"
#- "Vortex:mini:*"
#- "Vortex:sane:*"
#- "XiangShan:default-chisel3:* !*:linux"
#- "XiangShan:default-chisel6:* !*:linux"
#- "XiangShan:mini-chisel3:* !*:linux"
#- "XiangShan:mini-chisel6:* !*:linux"
- "XuanTie-E902:*"
- "XuanTie-E906:*"
- "XuanTie-C906:*"
- "XuanTie-C910:*"
#- "XuanTie-E906:*"
#- "XuanTie-C906:*"
#- "XuanTie-C910:*"
run-gcc-hier:
name: Run GCC hier | ${{ matrix.cases }}
@ -166,13 +166,13 @@ jobs:
matrix:
cases:
- "BlackParrot:1x1:* !-hier"
- "BlackParrot:4x4:* !-hier"
- "NVDLA:* !-hier"
- "OpenPiton:1x1:* !-hier"
- "OpenPiton:4x4:* !-hier"
- "OpenPiton:8x8:* !-hier"
- "OpenPiton:16x16:dhry !-hier"
- "XuanTie-C910:* !-hier"
#- "BlackParrot:4x4:* !-hier"
#- "NVDLA:* !-hier"
#- "OpenPiton:1x1:* !-hier"
#- "OpenPiton:4x4:* !-hier"
#- "OpenPiton:8x8:* !-hier"
#- "OpenPiton:16x16:dhry !-hier"
#- "XuanTie-C910:* !-hier"
combine-results:
name: Combine results
@ -314,6 +314,7 @@ jobs:
- name: Compare results
working-directory: rtlmeter
run: |
set -x
for tag in gcc clang gcc-hier; do
ADATA=../nightly-results/all-results-${tag}.json
BDATA=../all-results/all-results-${tag}.json
@ -323,12 +324,16 @@ jobs:
if [[ ! -e $ADATA ]]; then
continue
fi
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "verilate" --metrics "elapsed memory" $ADATA $BDATA > ../verilate-${tag}.txt
metrics="speed elapsed memory cpu codeSize"
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "verilate" --metrics "$metrics" $ADATA $BDATA > ../verilate-${tag}.txt
cat ../verilate-${tag}.txt
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "execute" --metrics "speed memory elapsed" $ADATA $BDATA > ../execute-${tag}.txt
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "execute" --metrics "$metrics" $ADATA $BDATA > ../execute-${tag}.txt
cat ../execute-${tag}.txt
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "cppbuild" --metrics "elapsed memory cpu codeSize" $ADATA $BDATA > ../cppbuild-${tag}.txt
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "cppbuild" --metrics "$metrics" $ADATA $BDATA > ../cppbuild-${tag}.txt
cat ../cppbuild-${tag}.txt
./rtlmeter compare --cases '* !Example:* !*:hello' --steps "verilate execute cppbuild" --metrics "$metrics" $ADATA $BDATA | \
awk -v RS= -v tag=${tag} '{ f = sprintf("../summary-%s.txt",tag); print > f; close(f); }'
cat ../summary-${tag}.txt
done
- name: Create report
env:
@ -350,15 +355,25 @@ jobs:
echo -n "<summary><strong><em>" >> report.txt
jq -rj ".[0].runName" all-results/all-results-${tag}.json >> report.txt
echo "</em></strong></summary>" >> report.txt
# Summary section
echo "<details open>" >> report.txt
echo "<summary>Summary</summary>" >> report.txt
echo '<pre>' >> report.txt
tail -n +2 summary-${tag}.txt >> report.txt
echo '</pre>' >> report.txt
echo "</details>" >> report.txt
# Details section
awk -v RS= -v tag=${tag} '{print > sprintf("frag-%02d-verilate-%s.txt",NR,tag)}' verilate-${tag}.txt
awk -v RS= -v tag=${tag} '{print > sprintf("frag-%02d-execute-%s.txt" ,NR,tag)}' execute-${tag}.txt
awk -v RS= -v tag=${tag} '{print > sprintf("frag-$02d-cppbuild-%s.txt",NR,tag)}' cppbuild-${tag}.txt
awk -v RS= -v tag=${tag} '{print > sprintf("frag-%02d-cppbuild-%s.txt",NR,tag)}' cppbuild-${tag}.txt
ls -1
rm -f $(ls -1 frag-*-verilate-${tag}.txt | sort | tail -1)
rm -f $(ls -1 frag-*-execute-${tag}.txt | sort | tail -1)
rm -f $(ls -1 frag-*-cppbuild-${tag}.txt | sort | tail -1)
echo "<details>" >> report.txt
echo "<summary>Details</summary>" >> report.txt
for f in $(ls -1 frag-*-verilate-${tag}.txt | sort) $(ls -1 frag-*-execute-${tag}.txt | sort) $(ls -1 frag-*-cppbuild-${tag}.txt | sort); do
if [[ $f == frag-01-verilate-${tag}.txt || $f == frag-01-execute-${tag}.txt ]]; then
echo "<details open>" >> report.txt
else
echo "<details>" >> report.txt
fi
echo "<details>" >> report.txt
echo -n "<summary>" >> report.txt
head -n 1 $f | tr -d '\n' >> report.txt
echo "</summary>" >> report.txt
@ -368,6 +383,7 @@ jobs:
echo "</details>" >> report.txt
done
echo "</details>" >> report.txt
echo "</details>" >> report.txt
done
cat report.txt
- name: Upload report