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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions