Repository navigation
Retry ladder: time budget with forecast-based cap skipping - #53
Open
Autoplectic wants to merge 2 commits into
Open
Autoplectic wants to merge 2 commits into
Autoplectic wants to merge 2 commits into
Conversation
The bidirectional build's retry ladder ran its 200k-state cap outside any budget, so 8 of the 80 sampled 4-state processes hit the survey's hard timeout before reporting bounds. build_bidirectional_with_ladder and try_build_bidirectional take a time_budget; a cap is skipped when the previous cap's time times the squared cap ratio would overrun, and budget_exhausted is set. generative_model and minimal_wyner_model charge the build to their own time_budget. Co-authored-by: Cursor <cursoragent@cursor.com>
separating_optima has no deadline and dominated the 120 s wall-clock check on the Ubuntu CI runners (about 158 s under coverage), failing main since #51. Co-authored-by: Cursor <cursoragent@cursor.com>
Member
Author
|
Also fixes the Ubuntu CI failure on |
This branch has not been deployed
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.
Summary
build_bidirectional_with_ladderandtry_build_bidirectionaltaketime_budget(seconds). Mixed-state construction cannot be interrupted, so before each cap after the first the ladder forecasts its cost as the previous cap's time times the squared cap ratio, skips the cap if the forecast would overrun, and setsBidirBuildResult.budget_exhausted.resolve_bidirectionalpasses the budget through.generative_modelandminimal_wyner_modelnow charge the build to their owntime_budgetand give the pipeline what is left.Why
In the 80-topology 4-state survey (
survey4_v3.jsonl), 8 cases timed out. For the ladder cases on one machine, the 10k and 50k caps took 9 s and 86 s, and the 200k cap had not finished after 15 minutes. That is well past the survey's hard timeout, before any bounds were reported.Results
I reran the 8 timeouts with
SURVEY_LADDER_BUDGET=300(cpfcisurvey4_v4.jsonl):budget_exhaustedand get future-window brackets.Survey totals went from 29 brackets / 30 window brackets / 8 timeouts to 30 / 34 / 3.
Test plan
tests/test_bidirectional_build.py(5 passed)ruff check,ruff format --checkMade with Cursor