Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions HISTORY.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
=======
History
=======
2026.10.22.1 -- Bugfix: loops checkpointed before 2026.10.22 could not resume
* A job with a loop that was checkpointed before 2026.10.22 refused to resume
unless its cores per iteration was changed to automatic. It now resumes
unchanged too (needs seamm 2026.10.22.1). Its other settings of how the
iterations run must still be as they were.
* The user guide now says that a resume refused because a setting changed runs
nothing, rather than starting the job from the top.

2026.10.22 -- Bugfix: a parallel loop's iterations share the job's cores
* A parallel loop gave each iteration one core by default, so four replicas in a
64-core job ran on four cores (job 5368). "Cores per iteration" now defaults to
Expand Down
7 changes: 5 additions & 2 deletions docs/user_guide/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -156,8 +156,11 @@ own checkpoints. An iteration whose evaluator was killed while the job ran on

The settings above that say only how the iterations run -- iterations at once,
cores, memory and time per iteration, and where the calculations run -- can be
changed before resuming, e.g. to give the iterations more cores; changing any
other setting makes the job start again from the top.
changed before resuming, e.g. to give the iterations more cores. Changing any
other setting stops the resume: nothing is run, and ``job.out`` says why. A job
checkpointed before seamm 2026.10.22 resumes only with these settings as they
were, except that cores per iteration 1, the default then, may be set to
automatic.

Index
=====
Expand Down
2 changes: 2 additions & 0 deletions loop_step/loop_parameters.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,8 @@ class LoopParameters(seamm.Parameters):
"cores per iteration": {
"resource": True,
"default": "automatic",
# Until 2026.10.22: checkpoints written then still resume
"former defaults": ("1",),
"kind": "integer",
"default_units": "",
"enumeration": ("automatic",),
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
molsystem>=2026.10.17
psutil
seamm>=2026.10.22
seamm>=2026.10.22.1
seamm-exec>=2026.10.5
2 changes: 2 additions & 0 deletions tests/test_loop_step.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,5 @@ def test_resource_parameters_are_marked():
):
assert P[key]._data.get("resource") is True, key
assert P["cores per iteration"].default == "automatic"
# Its default until 2026.10.22, for checkpoints written then
assert P["cores per iteration"]._data.get("former defaults") == ("1",)
Loading