-
Notifications
You must be signed in to change notification settings - Fork 7
Tr/walltime #1581
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: main
Are you sure you want to change the base?
Tr/walltime #1581
Conversation
69ea5ef to
5fe595d
Compare
These are not used, but theys still increase ttfx
5fe595d to
f8ca655
Compare
Thanks for this change! It will be nice to not rely on ClimaAtmos's SYPD calculation. It looks like the last sypd and the reported final sypd are still a little different. Only by 2.5-3% so I think it's okay, but good to be aware of. |
| callbacks = | ||
| config_dict["atmos_log_progress"] ? (checkpoint_cb,) : (checkpoint_cb, walltime_cb) |
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.
To avoid constructing the walltime_cb when we don't use it, you could put the whole section you added above inside an if statement, like this:
if config_dict["atmos_log_progress"]
<construct walltime_cb>
callbacks = (checkpoint_cb, walltime_cb)
else
callbacks = (checkpoint_cb,)
| checkpoint_cb = TimeManager.Callback(schedule_checkpoint, Checkpointer.checkpoint_sims) | ||
|
|
||
| callbacks = (checkpoint_cb,) | ||
| tot_steps = Int(ceil(float(tspan[2] - tspan[1]) / float(Δt_cpl))) |
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 add a comment above this section explaining what's being done? Actually it might be better to move this all into a function in the TimeManager module, then we can describe it in the docstring
E.g. we can explain that this outputs a log of simulation progress so far, along with an SYPD estimate. And we can explain how often this gets output - every (power of 2) steps, or every (5% of simulation) steps
Purpose
closes #1582
To-do
See buildkite runs here
There is still variation, but the final sypd matches up with the reported final, and it no longer has a sharp SYPD increase in the first few reports
Content
atmos_log_progress, that can be used to enable the ClimaAtmos wall time callback and disable the coupler wall time callback. By default, the coupler wall time callback is used.