Repository navigation
Solve the OG-Core steady state serially in the worker - #553
Open
error9098x wants to merge 1 commit into
Open
error9098x wants to merge 1 commit into
error9098x wants to merge 1 commit into
Conversation
OG-Core's steady-state solve re-broadcasts the model parameters to every dask worker on each iteration. Run it without a dask client, and start the client only for the transition path, where parallel work pays off. The client's dashboard is disabled so a run never binds an extra port.
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
_solve()inAPI/Classes/OGCore/ogc_worker.pyruns OG-Core's steady-state solve without a dask client, by wrappingSS.run_SSfor the duration of the run and restoring it afterwards.ogcore==0.20.0. This workaround can be removed once they move to >= 0.20.1.Linked issue (if applicable)
Validation
ogcore, which the MUIOGO test suite does not install.uv run ruff check .passes anduv run pytestpasses (358 passed, 2 skipped) on this branch.runmode directly with OG-PHL's interpreter (ogcore 0.20.0) on two copies of the same real steady-state baseline (macOS 26.5.1, 10 cores):main: stalled. After ~4 minutes the log had repeated the same 9GE loop errorslines 34 times with no progress; the run was stopped.SS_vars.pklwritten).TPI_vars.pklwritten).Checklist
main; PR targetsEAPD-DRB/MUIOGO:mainNotes for reviewers
execute.runnercallsSS.run_SSthrough the module (ogcore/execute.py:46), so wrapping it takes effect. OG-Core 0.20.0'srun_TPIcallsclient.scatterwithout checking for a client (TPI.py:969), which is why transition-path runs still get one.