-
Notifications
You must be signed in to change notification settings - Fork 1
General suggestions #2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Thanks for the comments, just sharing some thoughts in exchange to provide context:
This is correct.
FWIW there is a note about this in the docs: https://verilator.github.io/rtlmeter/running.html#specifying-cases
Agree it would be nice to be able to run just the same as the Verilator CI. I intended RTLMeter to be more generally useful, and not be just a Verilator specific thing, so I believe storing the subset of the cases to run in the Verailtor CI belongs in the Verilator repo. There are a couple issues as to why not just run everything in the Verilator CI:
Short summary:
As to easily running the same: The docs link above explains how you can use a case list file with You probably know this, but you can also trigger the RTLMeter workflow manually on your fork/branch if you want to do a check same as the CI.
I understand how this can be helpful for "testing", however the intention with RTLMeter is to enable collecting high quality performance [latency] data, for which we definitely don't want to run verilation or execution in parallel, so this was not a priority, and I'm somewhat concerned it would be abused when doing actual benchmarking. |
This is great, thanks for adding. Some quick suggestions off the top of my head:
A forced retry option would be nice. It seems that --retry will only re-run failing steps, but when I had to make Verilator changes which fixed C++ compilation, verilation hadn't failed so I had to
rm -rf work
in order to get things to run again.Running all the cases is a little annoying because the shell will expand
*
into non-useful things. It appears to do the thing I want when I escape*
so maybe just a note in--help
about this would be good.Parallelization of the different steps would be amazing. I'm sure this would be a bit tricky because the verilated Makefiles already
-j
, but it would be super nice to be able to chew through these different tests on all the cores I have.It's a little unfortunate that the config is split between this repo and
rtlmeter.yml
back in the Verilator repo. For instance, some cases are commented out in that YAML, so I'm guessing I should expect them to pass but then it's less easy to locally run all the "good" cases. But I'm guessing just doingcases: "*"
would be less idea in terms of CI throughput. So I don't exactly know what to suggest other than mentioning that it's nice to be able to simply run what Verilator's CI is doing myself.The text was updated successfully, but these errors were encountered: