Skip to content

maint: PreOptimizationTimes campaign — local-CPU leg (polish phase 3) #56

Description

@Jammy2211

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 axissweep.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 toolingscripts/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 + publishaggregate.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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions