OpenROAD-flow-scripts
OpenROAD-flow-scripts copied to clipboard
Implement support for Vizier in AutoTuner
This PR extends AutoTuner with a support for Vizier and a few of its multi-objective optimization algorithms. Which are better at finding valid parameters for hard-to-built designs.
It is based on https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/2487
Dependencies were separated into:
tools/AutoTuner[ray]- for Ray Tune,tools/AutoTuner[vizier]- for Vizier.
Vizier and Ray Tune uses the same configuration scheme, but instead of combining metrics into one value, Vizier looks for non-dominated results (list of metrics). Apart from default metrics (like total_power, worst_slack or final_util), a additional few had been added:
clk_period-worst_slack- the difference between clock period and worst slack,last_successful_stage- artificial metric representing a number of the latest stage that was successfully build (help to find valid parameters),core_util- when floorplan fails (usually due to too largeCORE_UTILIZATION),core_utilmetric is multiplied by -1 to indicate that it should be smaller (helps to successfully built floorplan).
Metrics can be chosen with -m or --use-metrics argument.
To speed up the optimization process, --to-stage argument was implemented, which chooses stage (and its dependencies) that will be built. It's useful for user interested only in results from e.g. placement. --to-stage works for both Ray Tune and Vizier.
Instructions for preparing and running AutoTuner, as well as described arguments, can be found in InstructionsForAutoTuner.md
Unrelated CI fail - the same as on the master branch
@luarss Did you have a moment to take a look at this PR?
@luarss Did you have a moment to take a look at this PR?
@eszpotanski Yes, refactoring is a high priority item for AutoTuner as well. This is next after the smoke tests are merged.
Also, could you possibly split this into 2 PRs - refactoring and new feature?
Also, could you possibly split this into 2 PRs - refactoring and new feature?
@luarss Sure, I opened #2487 with the code refactor and rebased this PR on top of it
@luarss @vvbandeira As #2487 was merged, I rebased this PR and it's ready to review