Skip to content

Run the nightly and cache regressions again, on the riscv-arch-test ELFs - #1963

Merged
jordancarlin merged 5 commits into
openhwfoundation:mainfrom
davidharrishmc:dh/nightly-act
Oct 12, 2026
Merged

jordancarlin merged 5 commits into
openhwfoundation:mainfrom
davidharrishmc:dh/nightly-act

Conversation

@davidharrishmc

@davidharrishmc davidharrishmc commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

regression-wally --nightly and --cache were refused after #1895 because the derivative configurations and cache tests still named tests.vh suites. Each derivative configuration now runs the riscv-arch-test ELFs of the configuration it is derived from, by leaf directory or by a glob within one where it lacks an extension the rest of the directory needs; noS and noU use the rv32i, rv64i and rv32imc ELFs, since the rv32gc and rv64gc ELFs set up S mode as they boot, so they cover less than before until the derivatives get ACT configurations of their own. Getting the full nightly to run also needed: building config/deriv and the testfloat vectors, a required field for the embench and coremark checks, simulating embench's size-optimized build again (with wsim naming its ELF lists after --name so parallel runs of one mode don't collide), an hour for --testfloat's largest fma tests, refreshed CoreMark and Embench expected results, and a testbench/Makefile fix for a race in which a simulation could open an ELF's label maps before both existed. Nightly then passes except for rv32imc's priv/ExceptionsSm on Questa and VCS, which hangs at a misaligned fetch from a nonexistent address (Verilator passes) and #1968 fixes, and the two RV32 Q configurations' ZfaD-fmvp.d.x, which #1962 fixes.

🤖 Generated with Claude Code

davidharrishmc and others added 5 commits October 10, 2026 07:47
The testbench asks make for an ELF's .objdump.addr only.  The recipe moved
.addr into place first, so a parallel simulation of the same ELF could
find .addr up to date and open .lab before it existed ("Could not open
the label maps"), and the ELF halted without reporting to tohost.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
The derivative configurations and the cache tests still named the
tests.vh suites, so --nightly and --cache were refused.  Each derivative
configuration now runs the ACT ELFs of the configuration it is derived
from, by leaf directory or by a glob within one where it lacks an
extension the rest of the directory needs (addActTests).  noS and noU
run the ELFs of rv32i, rv64i and rv32imc, because the rv32gc and rv64gc
ELFs set up S mode as they boot.  The cache tests run the rv64gc ACT
directories with the cache loggers; CacheSim.py already empties its
model at each reset the loggers record, so a run may hold several ELFs.
--nightly also builds config/deriv, and the embench and coremark checks
get the grepstr their TestCase now requires.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
… hour

--testfloat and --nightly ran the testfloat tests without building their
vectors, so every one failed to open its .tv file on a fresh checkout.
Under --testfloat's 30-minute limit the fma tests of the largest FPUs
(fdh, fdq, fdqh) also timed out; they get the hour nightly allows.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
Since the move to ELF directories, sim_run simulated only
bd_speedopt_speed, so benchmark_speed.py found no results for
bd_sizeopt_speed and make run failed.  Both builds now run, in parallel
because each takes about half an hour.  wsim names its ELF list after
the run (--name) instead of the testbench mode, so the two embench runs
no longer overwrite each other's list.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
The benchmark checks had not run since nightly was turned off, and the
RTL merged since then shifted some stall, cache and cycle counts.
CoreMark/MHz and CPI are unchanged; two Embench speed scores moved by
0.01.  The new values are from this branch, and a second CoreMark sweep
reproduced them exactly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: David Harris <David_Harris@hmc.edu>
@jordancarlin
jordancarlin merged commit d1657ae into openhwfoundation:main Oct 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants