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

[Arc] Partially enable reset/enable detection #6506

Merged
merged 2 commits into from
Dec 8, 2023

Conversation

fabianschuiki
Copy link
Contributor

Enable the InferStateProperties pass in the arcilator pipeline and make its enable and reset signal detection individually controllable. The enable portion is already supported by the rest of the arcilator pipeline and can produce 20%-35% speedup on the cores in arc-tests.Turn on enable detection by default.

The reset portion is not fully supported yet and causes the simulation to misbehave. It is disabled by default.

As a minor refactoring this removes the constructor field from the pass definition, such that the constructor and plumbing for options gets generated automatically. As a side effect, the constructor is now called arc::createInferStateProperties instead of the previous arc::createInferStatePropertiesPass. (Thanks @uenoku for the pointer.)

Shoutout to @maerhart and @TaoBi22 for this fantastic pass!

Enable the `InferStateProperties` pass in the arcilator pipeline and
make its enable and reset signal detection individually controllable.
The enable portion is already supported by the rest of the arcilator
pipeline and can produce 20%-35% speedup on the cores in arc-tests.Turn
on enable detection by default.

The reset portion is not fully supported yet and causes the simulation
to misbehave. It is disabled by default.

As a minor refactoring this removes the `constructor` field from the
pass definition, such that the constructor and plumbing for options gets
generated automatically. As a side effect, the constructor is now called
`arc::createInferStateProperties` instead of the previous
`arc::createInferStatePropertiesPass`. (Thanks @uenoku for the pointer.)

Shoutout to @maerhart and @TaoBi22 for this fantastic pass!
@fabianschuiki fabianschuiki added the Arc Involving the `arc` dialect label Dec 8, 2023
Copy link
Member

@maerhart maerhart left a comment

Choose a reason for hiding this comment

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

Looks good!

lib/Dialect/Arc/Transforms/InferStateProperties.cpp Outdated Show resolved Hide resolved
@fabianschuiki fabianschuiki merged commit 08665a1 into main Dec 8, 2023
2 checks passed
@fabianschuiki fabianschuiki deleted the fschuiki/enable-state-property-inference branch December 8, 2023 23:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Arc Involving the `arc` dialect
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants