-
Notifications
You must be signed in to change notification settings - Fork 398
Implement support for Vizier in AutoTuner #2428
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
base: master
Are you sure you want to change the base?
Conversation
5645d0f to
d62adf3
Compare
|
Unrelated CI fail - the same as on the master branch |
|
@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? |
d62adf3 to
107c7a4
Compare
107c7a4 to
5bbabb7
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>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
Signed-off-by: Eryk Szpotanski <eszpotanski@antmicro.com>
5bbabb7 to
5f72b6f
Compare
|
@luarss @vvbandeira |
| @@ -0,0 +1,3 @@ | |||
| jax<=0.4.33 | |||
| google-vizier[jax] | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you lock these requirements?
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