Implement support for Vizier in AutoTuner#2428
Open
eszpotanski wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
Open
Implement support for Vizier in AutoTuner#2428eszpotanski wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
eszpotanski wants to merge 6 commits intoThe-OpenROAD-Project:masterfrom
Conversation
5645d0f to
d62adf3
Compare
Contributor
Author
|
Unrelated CI fail - the same as on the master branch |
Contributor
Author
|
@luarss Did you have a moment to take a look at this PR? |
Contributor
@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? |
d62adf3 to
107c7a4
Compare
Contributor
Author
107c7a4 to
5bbabb7
Compare
5bbabb7 to
5f72b6f
Compare
Contributor
Author
|
@luarss @vvbandeira |
luarss
reviewed
Jan 31, 2025
| @@ -0,0 +1,3 @@ | |||
| jax<=0.4.33 | |||
| google-vizier[jax] | |||
Contributor
There was a problem hiding this comment.
Could you lock these requirements?
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
5f72b6f to
023bb50
Compare
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
023bb50 to
3353877
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 #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_slackorfinal_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
-mor--use-metricsargument.To speed up the optimization process,
--to-stageargument 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-stageworks for both Ray Tune and Vizier.Instructions for preparing and running AutoTuner, as well as described arguments, can be found in InstructionsForAutoTuner.md