-
Notifications
You must be signed in to change notification settings - Fork 419
Organize koios benchmarks #2469
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
Organize koios benchmarks #2469
Conversation
@vaughnbetz This PR organizes the Koios benchmarks according to circuit size and design features. Ready to merge. |
Does the QoR gathering procedure at https://docs.verilogtorouting.org/en/latest/README.developers/#example-koios-benchmarks-qor-measurement have to change? Or is it still the same regtests that need to be run and parsed? Adding @aman26kbm and @amin1377 for their comments. |
@vaughnbetz a few adjustments were required, already updated. Please check here: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we not want to add tasks that enable and disable hard_mem? That would help verify Parmys' memory inference features.
I am not sure, but I think I had those before.
vtr_flow/benchmarks/system_verilog/koios_deepfreeze/deepfreeze.style1.sv
Outdated
Show resolved
Hide resolved
vtr_flow/benchmarks/system_verilog/koios_deepfreeze/deepfreeze.style1.sv
Outdated
Show resolved
Hide resolved
I added a few comments. Overall, this is a great effort. I appreciate all the work you've put in, @poname. Thank you very much! |
You're welcome! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good; thanks. Will merge once CI passes. The pull request labeler failed with some permission issue (strange); I will ignore that.
This PR organizes the koios benchmarks in VTR and addresses a few open issues.
The koios tests are divided into 4 groups according to size and design features: medium, large, proxy, and system-verilog (marked with
*_medium
,*_large
,*_proxy
, and*_sv
).Two frontends are supported: Parmys and Odin (marked with
*_odin
where possible).The complex DSP features are disabled in tests marked as
*_no_hb
.The medium and large categories are based on the original publication and #2419.
The
large
,proxy
, andsv
groups are added toweekly
suite.The
medium
group is added tonightly
suite.The proxy tests are from: koios_proxy_benchmarks.
The deepfreeze style tests require system-verilog parser and are tested separately.
The golden results for weekly suites are generated.
The target architecture for
*_no_hb
tests changed fromk6_frac_N10_frac_chain_depop50_mem32K_40nm
tok6FracN10LB_mem20K_complexDSP_customSB_22nm
and golden results updated.The koios ReadME file updated.
The developer guide on how to run the koios benchmarks updated.
Description
Koios benchmarks are tested by the following tasks in VTR:
The following are only for regression testing and less important for benchmarking:
conv_layer.v
designconv_layer.v
designbwave_like.fixed.small.v
designdla_like.large.v
designbwave_like.float.large.v
designRelated Issue
#2416
#2401
#1782
These 2 issues can be closed since Yosys+Odin is removed from VTR and Parmys has no issues with the Koios benchmarks:
#2104
#2131
And this PR: #2148
Motivation and Context
How Has This Been Tested?
Types of changes
Checklist: