-
Notifications
You must be signed in to change notification settings - Fork 489
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
recover_power is very slow #4982
Comments
94% of the time is spent in: OpenROAD/src/rsz/src/RecoverPower.cc Lines 81 to 226 in 441581b
It's doing ~4500 of iterations of this: OpenROAD/src/rsz/src/RecoverPower.cc Line 126 in 441581b
Each iteration is about 1s, so it adds up. There are three parameters that determine the iteration count. One is customizable via Tcl, it's called OpenROAD/src/rsz/src/RecoverPower.cc Line 112 in 441581b
This parameter is set to 0 by default for most designs in flow-scripts , like Ibex or BlackParrot, so this step is skipped entirely there. For jpeg_lvt , it's set to 100%.(sorry if this is obvious to you) The other two are OpenROAD/src/rsz/src/RecoverPower.cc Lines 93 to 95 in 441581b
They're defined here: OpenROAD/src/rsz/src/RecoverPower.hh Lines 124 to 128 in 441581b
They are constants, so they cannot be tweaked by the user. They were chosen in this commit: 2611d81, not sure if a rationale was provided. Anyway, it doesn't seem like a pathological case, unless these constants are incorrect. The only options I see are to either tweak them or the |
RECOVER_POWER is an opt-in flow variable. For prototyping I don't think it is helpful unless you are trying to make a study of power. We will address the performance but I'm not sure it should matter to you. |
@oharboe Can you try this again with the current |
@kbieganski We don't actually use recover_power currently, but thanks for fixing this! |
Description
Tar made with
make DESIGN_CONFIG=designs/asap7/jpeg_lvt/config.mk global_route_issue
untar https://drive.google.com/file/d/1Aax8fTJl9KyA0rl7YNv8mwu5yG4kaBeo/view?usp=sharing
Run:
Compared to the rest of the flow, global route is surprisingly slow:
Suggested Solution
Hopefully this is just a good example of a pathological slowdown and making it faster should be possible.
Additional Context
No response
The text was updated successfully, but these errors were encountered: