• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sandialabs / LoQS / 34743238027
90%

Build:
DEFAULT BRANCH: main
Ran 13 Sep 2026 08:07PM UTC
Jobs 1
Files 79
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Sep 2026 06:38AM UTC coverage: 89.718% (+0.5%) from 89.218%
34743238027

push

github

web-flow
Make QuantumProgram checkpointing parallel-safe (#128)

* Rewrite QuantumProgram.run()'s checkpoint mechanism for real concurrent safety

Replaces the driver-side-only checkpoint mechanism -- never exercised
under real worker concurrency, and confirmed unsafe if multiple
processes ever shared one file -- with a design where each worker
checkpoints its own shots directly to its own file, consolidated by the
driver once every dispatched batch is done, and removes the fragile
QuantumProgram._last_results caching mechanism entirely.

- QuantumProgram.run() batches shot dispatch by checkpoint_batch_size
  when checkpointing is enabled, checkpointing each batch inside its own
  worker process (keyed by hostname/pid, batch size 1 recovers fully
  per-shot durability) instead of shipping every shot back to the
  driver before anything is written; gains a lazy_loading_enabled
  parameter controlling whether checkpointed shots stay in memory.
- ProgramResults.checkpoint()/consolidate_checkpoints() drop the old
  strategy/batch-index arithmetic (which could silently misattribute
  shots under out-of-order completion) for a simpler "flush everything
  unwritten" call, and stream one worker's file in at a time on
  consolidation rather than loading everything into memory first.
- Removes QuantumProgram._last_results and its two dead-code dependents
  (fttools.test_program_output's skip_run, pygstitools's deprecated
  _last_results fallback), none of which had real callers left.
- Adds a real multi-process concurrent-write test confirming several OS
  processes checkpointing at once never corrupt or drop data.

* Document parallel checkpointing in the parallel-execution tutorial

Adds a "Checkpointing under parallelism" section to docs/notebooks/parallel.md covering how checkpoint_batch_size and worker identity interact with a shot_executor, the lazy_loading_enabled eviction behavior, and the checkpoint mechanism's scope relative to the other program-level call sit... (continued)

3419 of 4038 branches covered (84.67%)

Branch coverage included in aggregate %.

10717 of 11718 relevant lines covered (91.46%)

0.91 hits per line

Coverage Regressions

Lines Coverage ∆ File
135
41.07
-1.27% tools/pygstitools.py
52
82.78
12.49% core/programresults.py
34
90.07
4.02% core/quantumprogram.py
33
94.31
-0.92% tools/paralleltools.py
31
90.23
0.53% internal/encoder/hdf5encoder.py
21
93.7
-0.64% internal/serializable.py
10
92.29
0.21% internal/encoder/jsonencoder.py
5
94.89
4.56% tools/noisesweeptools.py
4
97.31
1.34% tools/fttools.py
2
92.31
-7.69% internal/__init__.py
Jobs
ID Job ID Ran Files Coverage
1 34743238027.1 13 Sep 2026 08:07PM UTC 79
89.72
GitHub Action Run
Source Files on build 34743238027
  • Tree
  • List 79
  • Changed 11
  • Source Changed 0
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34743238027
  • cb1aa2c8 on github
  • Prev Build on main (#34492205228)
  • Next Build on main (#35057399917)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc