Skip to content
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

Simplify logic on static designs #1775

Merged
merged 10 commits into from
Nov 27, 2023
Merged

Simplify logic on static designs #1775

merged 10 commits into from
Nov 27, 2023

Conversation

calebmkim
Copy link
Contributor

Namely:

  • Better simplification of static guards
  • Set a "cycle limit" for promotion (i.e., if design is above a certain cycle limit we do not promote).

// If they explicitly say "None" or "none", hten we set it to None.
// Makes things a bit confusing.
let cycle_limit = if cycle_limit_str.is_none() {
Some(33554432)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is this number chosen?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah my bad should've explained that.
I basically looked at what worked well for the LUT numbers for the polybench stuff I've been working on. 33554432=2^25 ended up working well as an upper bound.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we need to be a little more principled about this perhaps. What happens for higher numbers? We want some argument for why a 25-bit counter being the maximum is a good default choice.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok finally fixed this to default to none (i.e., no limit). We can always set cycle-limit though manually if we want.

@calebmkim
Copy link
Contributor Author

Forgot to merge so doing it now.

@calebmkim calebmkim merged commit 58914de into master Nov 27, 2023
@calebmkim calebmkim deleted the lut-improvement branch November 27, 2023 03:08
rachitnigam pushed a commit that referenced this pull request Feb 16, 2024
* command line cycle limit parse

* clippy

* better static guard simplification

* rewrite test

* small change

* small change

* rewrite test

* default to none
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