Skip to content

progress: indicatif bar in eigenvalue loop + per-case/seed banners - #11

Merged
sorcerer86pt merged 1 commit into
mainfrom
feat/eigenvalue-progress-bar
May 28, 2026
Merged

sorcerer86pt merged 1 commit into
mainfrom
feat/eigenvalue-progress-bar

Conversation

@sorcerer86pt

Copy link
Copy Markdown
Owner

Wires indicatif into both CPU and GPU eigenvalue power-iteration loops so long simulations no longer run silent. The new transport::progress::EigenProgress exposes three sinks:

  • animated bar (TTY) — [████░░░░] 47/150 | k=1.00123 <k>=1.00098 +/- 64 pcm | ETA 2m13s
  • per-batch eprintln (forced) — opt-in via OPEN_RUST_MC_PROGRESS=1
    when stderr is piped (cargo test
    --nocapture, CI, run_benchmark.ps1
    tee'd output)
  • silent — default off-TTY behaviour, keeps
    sweep logs lean

Auto-hides under verbose=true so it doesn't fight with println! debug output.

Per-seed banners added to the ICSBEP integration tests (tests/icsbep_runs.rs::run_case_e2e_seeds and
tests/cuda_runs.rs::run_case_cuda_seeds) print
[icsbep] case -- seed N/M starting + elapsed-time done line around each seed; useful when single seeds take ≥400 s.

Python sweep (icsbep_sweep.py) gains a per-case banner [idx/total] case starting (Nseed x Bb x Ii x Pp) and per-seed banners inside run_case_multi_seed. run_benchmark.ps1 gains a -LiveProgress switch that sets OPEN_RUST_MC_PROGRESS=1 so per-batch lines land in the .log (since Tee-Object masks the TTY).

Tests:

  • cargo test --lib --release: 438 / 438
  • cargo test --lib --release --features cuda: 451 / 451
  • tests/icsbep_runs::heu_met_fast_001_case_1_godiva smoke (PASS)
  • python icsbep_sweep.py smoke on heu-met-fast-001 (PASS)

Wires indicatif into both CPU and GPU eigenvalue power-iteration
loops so long simulations no longer run silent. The new
`transport::progress::EigenProgress` exposes three sinks:

  - animated bar (TTY)          — `[████░░░░] 47/150 | k=1.00123
                                   <k>=1.00098 +/- 64 pcm | ETA 2m13s`
  - per-batch eprintln (forced) — opt-in via OPEN_RUST_MC_PROGRESS=1
                                   when stderr is piped (cargo test
                                   --nocapture, CI, run_benchmark.ps1
                                   tee'd output)
  - silent                       — default off-TTY behaviour, keeps
                                   sweep logs lean

Auto-hides under verbose=true so it doesn't fight with println! debug
output.

Per-seed banners added to the ICSBEP integration tests
(tests/icsbep_runs.rs::run_case_e2e_seeds and
tests/cuda_runs.rs::run_case_cuda_seeds) print
`[icsbep] case -- seed N/M starting` + elapsed-time done line around
each seed; useful when single seeds take ≥400 s.

Python sweep (icsbep_sweep.py) gains a per-case banner
`[idx/total] case starting (Nseed x Bb x Ii x Pp)` and per-seed
banners inside run_case_multi_seed. run_benchmark.ps1 gains a
-LiveProgress switch that sets OPEN_RUST_MC_PROGRESS=1 so per-batch
lines land in the .log (since Tee-Object masks the TTY).

Tests:
  - cargo test --lib --release:               438 / 438
  - cargo test --lib --release --features cuda: 451 / 451
  - tests/icsbep_runs::heu_met_fast_001_case_1_godiva smoke (PASS)
  - python icsbep_sweep.py smoke on heu-met-fast-001 (PASS)
@sorcerer86pt
sorcerer86pt merged commit dc943e3 into main May 28, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant