Overview
Phase 3 of the polish series: the PreOptimizationTimes baseline campaign — the last full likelihood_runtime profiling before the optimization push, so these are the run times everything after is compared to. Phases 1–2 locked the design, validated all 9 cells on current source, and staged the A100 probes. RAL is down, so this run executes the laptop-CPU leg of the matrix and stages the rest: HPC-CPU and A100 rows (and the probe ingest) join when RAL returns; laptop-GPU rows are the user's follow-up. Autonomy: --auto, effective level supervised.
Plan
- Sweep driver instrument axis —
sweep.py's CELLS grid is (class, model) with per-script default instruments; the campaign needs (class, model, instrument): per-cell campaign instrument lists (imaging × ao/jwst/hst; interferometer and datacube × their instrument sets), --instrument passthrough, and per-instrument output dirs (results/runtime/<class>/<model>/<instrument>/ — aggregate.py already supports the 3-level layout).
- Baseline tooling —
scripts/build_baseline.py: snapshot the campaign's comparison.jsons into results/baselines/PreOptimizationTimes/ plus the rendered one-page .md (convention from results/notes/design_lock_in.md); the dashboard's baseline column picks it up automatically.
- Run the local-CPU matrix (
local_cpu_fp64 + local_cpu_mp), cheapest→heaviest in the background, imaging sparse rows included; vmap rows run at the non-GPU clamp (production vmap numbers are the A100 rows, later).
- Pin the unpinned — first clean campaign runs print their likelihood/evidence values (record-and-flag design); pin them per-instrument so the Heart drift leg has teeth.
- Aggregate + publish —
aggregate.py per cell, dashboard refresh, results note.
- Deferred (RAL): HPC-CPU rows, A100 probe ingest →
VMAP_BATCH/VMAP_BATCH_SPARSE refresh, A100 fp64+mp rows, baseline finalisation for those columns.
Detail
Affected Repositories
- autolens_profiling (primary, only)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autolens_profiling |
main (post PR #55) |
untracked legacy artifacts only |
Suggested branch: feature/profiling-preopt-campaign · Classification: Workspace · Worktree: ~/Code/PyAutoLabs-wt/profiling-preopt-campaign/
Key Files
likelihood_runtime/sweep.py (instrument axis), scripts/build_baseline.py (new), likelihood_runtime/*/*.py (pins), results/baselines/PreOptimizationTimes/, results/notes/
Original Prompt
PyAutoMind maintenance/autolens_profiling/polish_phase_3_runtimes.md (phase 3 of polish.md; laptop-CPU leg scoped in-session 2026-07-08 — RAL down).
Overview
Phase 3 of the polish series: the PreOptimizationTimes baseline campaign — the last full
likelihood_runtimeprofiling before the optimization push, so these are the run times everything after is compared to. Phases 1–2 locked the design, validated all 9 cells on current source, and staged the A100 probes. RAL is down, so this run executes the laptop-CPU leg of the matrix and stages the rest: HPC-CPU and A100 rows (and the probe ingest) join when RAL returns; laptop-GPU rows are the user's follow-up. Autonomy:--auto, effective levelsupervised.Plan
sweep.py'sCELLSgrid is(class, model)with per-script default instruments; the campaign needs(class, model, instrument): per-cell campaign instrument lists (imaging × ao/jwst/hst; interferometer and datacube × their instrument sets),--instrumentpassthrough, and per-instrument output dirs (results/runtime/<class>/<model>/<instrument>/—aggregate.pyalready supports the 3-level layout).scripts/build_baseline.py: snapshot the campaign'scomparison.jsons intoresults/baselines/PreOptimizationTimes/plus the rendered one-page.md(convention fromresults/notes/design_lock_in.md); the dashboard's baseline column picks it up automatically.local_cpu_fp64+local_cpu_mp), cheapest→heaviest in the background, imaging sparse rows included; vmap rows run at the non-GPU clamp (production vmap numbers are the A100 rows, later).aggregate.pyper cell, dashboard refresh, results note.VMAP_BATCH/VMAP_BATCH_SPARSErefresh, A100 fp64+mp rows, baseline finalisation for those columns.Detail
Affected Repositories
Branch Survey
Suggested branch:
feature/profiling-preopt-campaign· Classification: Workspace · Worktree:~/Code/PyAutoLabs-wt/profiling-preopt-campaign/Key Files
likelihood_runtime/sweep.py(instrument axis),scripts/build_baseline.py(new),likelihood_runtime/*/*.py(pins),results/baselines/PreOptimizationTimes/,results/notes/Original Prompt
PyAutoMind
maintenance/autolens_profiling/polish_phase_3_runtimes.md(phase 3 ofpolish.md; laptop-CPU leg scoped in-session 2026-07-08 — RAL down).