-
Notifications
You must be signed in to change notification settings - Fork 409
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
Decouple pipeline style from strategy #781
Conversation
Do we understand why the tests failed? Otherwise, the requested change is quite minor. |
Not sure why the tests failed, but certainly it is not due to the changes in the code. Since this started happening recently and we didn't change the CI configuration, it may be due to the increasing number of parallel tests each creating a new environment. Not sure why it doesn't deterministically fail. We need to investigate further. You can rerun the tests or run them locally to be sure that indeed nothing got broken. I ran locally, it all passed. |
Unless people object, I will merge this tomorrow. But is this for 0.8 or 0.7.1? |
Decouple pipeline style from strategy
Description
We control the top function pipeline style with the strategy, and while this works, sometimes the change to the top pipelining is forced by a layer (the conv layer) and as a consequence this causes all other layers to use
resource
strategy which is unintended. Decoupling the strategy from the pipeline style fixes this. The explicitly set resource strategy still forces thedataflow
style to be used. The configuration can be explicitly set withPipelineStyle
(values can bepipeline
anddataflow
), but normally the users would still continue using theStrategy
config parameter. Fixes #699 and #759.Type of change
Tests
I didn't add any extra tests. The best way to test this is to verify the generated HLS has the correct pragmas and
parameters.h
. I manually tested a whole lot of combinations of this. Checking the IR in python may also be possible, but I'm not sure if this will capture all combinations.Checklist
pre-commit
on the files I edited or added.