Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
200 changes: 116 additions & 84 deletions campaigns.yaml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dashboard.html

Large diffs are not rendered by default.

69 changes: 34 additions & 35 deletions dashboard.md

Large diffs are not rendered by default.

5 changes: 5 additions & 0 deletions tasks/autofit_profiling_bootstrap.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ The original task below is retained verbatim. Current scheduling state lives in
- VERIFIED: `gh repo view PyAutoLabs/autofit_profiling` → does not exist; no local checkout. The Mind source draft was removed in Mind `dbbe5b22` (2026-10-03, move to Pulse); it is not in Mind complete/ or active.md, so this file is the live record.
- Human decision still pending: the repo-creation question (Witness). No producer registration until the repo exists with ported baselines.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/autofit_profiling created 2026-10-07T11:38Z: one Initial commit with LICENSE only, no PRs. The repo-creation question is answered.
- Status → `ready`: porting/bootstrap unstarted; no producer registration until baselines are ported.

---

# autofit_profiling: bootstrap the repo + general PyAutoFit profiling epic
Expand Down
4 changes: 4 additions & 0 deletions tasks/gradient_cost_probe.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ The original task below is retained verbatim. Current scheduling state lives in
- VERIFIED: [autolens_workspace_developer#117](https://github.com/PyAutoLabs/autolens_workspace_developer/issues/117) closed 2026-07-28; no change since the pin. The Mind source draft was removed in Mind `dbbe5b22` (2026-10-03, move to Pulse); it is not in Mind complete/ or active.md, so this file is the live record.
- Next: select one bounded step when prioritised.

## Check-in 2026-10-07

- Context: Heart unit-test timing (PyAutoLens py3.13, 2026-10-07) flagged test__forward_gradient_matches_reverse_through_fitness 5.03→12.60 s and test__multi_start_gradient_point_source_fit_runs_in_forward_mode 15.51→30.38 s. https://github.com/PyAutoLabs/PyAutoLens/pull/768 rewrote that test file, so this is not a controlled library-cost comparison; this probe is the right instrument. Unissued.

---

# A gradient-cost probe: forward vs `value_and_grad` ms/eval and a strict FD check, on any registry cell
Expand Down
6 changes: 6 additions & 0 deletions tasks/interferometer_decision_matrix_last_cell.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ The original task below is retained verbatim. Current scheduling state lives in
- Caveat (executing agent): the A100 row's own A/B shows certified solver = PDIP to 0.0 nat, so the gap may come from F/D on older revisions rather than the solver. Not verified.
- Correction: PyAutoArray#582 was first released in 2026.9.27.2.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/autolens_profiling/pull/372 (issue #369) merged 2026-10-04T20:40Z: CPU rect 39² alma_high r5.0 from RAL 375978_3; the human accepted the 1.59e-3 nat CPU/A100 gap on 2026-10-04.
- Wiki Next line confirms every decision-matrix cell is measured, blocked or not measured with a citation (https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/wiki/campaigns/interferometer_likelihood.md).
- Status → `complete`.

---

# Interferometer decision matrix — fill the last cell (CPU rect 39² at alma_high r5.0) and flip the wiki row to shipped
Expand Down
4 changes: 4 additions & 0 deletions tasks/interferometer_fixed_mapper_curvature_preload.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ The original task below is retained verbatim. Current scheduling state lives in
- Finding for the human: no production stage qualifies as configured - interferometer SLaM `source_pix_2` fixes the mass but leaves `weight_power`/`weight_floor` free, which change the mapping. Phase 1 measures a regularization-only configuration; adopting such a stage is a science decision.
- Later phases: search-side opt-in (`fixed_mapper=True`), JAX jit/vmap + compile size, A100/jvla rows, data-vector preload, SLaM regularization-only stage, mixed MGE+mapper, dense path.

## Check-in 2026-10-07

- Mind draft `draft/feature/autoarray/interferometer_curvature_preload_phase1.md` (2026-10-04) still unstarted.

---

# Interferometer fixed-mapper searches: reuse the W~ curvature matrix across likelihood calls via `preloads.curvature_matrix`
Expand Down
6 changes: 6 additions & 0 deletions tasks/interferometer_nnls_memo_scattered_stream_guard.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ The original task below is retained verbatim. Current scheduling state lives in
- VERIFIED 2026-10-04: no PR, issue, branch or results on GitHub; unstarted. No Mind active claim.
- Next: select one bounded step when the interferometer campaign prioritises it.

## Check-in 2026-10-07

- Correction: the 2026-10-04 "unstarted" was superseded. https://github.com/PyAutoLabs/PyAutoArray/pull/615 (closes PyAutoArray#613) "back off the fnnls warm-start memo on scattered evaluation streams" merged 2026-10-06 (58bdda0a), released in 2026.10.7.1. Mind record complete/2026/10/nnls-memo-scattered-backoff.md.
- Local witness (n=576, solver-only, min of 3, 3 seeds, 64 solves): iid memo on/off 1.49x → 1.17x; walk 0.18x unchanged.
- Status → `active`: the autolens_profiling#332 ALMA Delaunay 2.17x after-measurement was not re-run and needs compute authorization.

---

# fnnls warm-start memo: stop it slowing scattered evaluation streams (interferometer CPU, autolens_profiling#332)
Expand Down
5 changes: 5 additions & 0 deletions tasks/interferometer_streaming_scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@ The original task below is retained verbatim. Current scheduling state lives in
- Parity 1.2e-9 nats at 5e5. The 1e8 row was skipped (budget).
- Go/no-go overtaken; recorded as release evidence for 2026.10.4.1.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/autolens_profiling/pull/375 (issue #368) merged 2026-10-04T20:49Z: phase 1 CPU cells + results/streaming_scaling rows; https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/wiki/campaigns/interferometer_streaming.md.
- Optional next: 1e8 CPU row and A100 rows (compute authorization). Library candidate still unfiled: chunk transformer.image_from in apply_sparse_operator.

---

# Campaign: interferometer streaming (array-free) vs in-memory — memory and time scaling to 2e8 visibilities
Expand Down
6 changes: 6 additions & 0 deletions tasks/mge_nnls_fix_pyautoarray_571_slam_60.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,12 @@ The original task below is retained verbatim. Current scheduling state lives in
- HPCPullPyAuto pulls MAINS, and Nerves main excludes jax 0.10.2 (installed on RAL and locally), so a sync also needs a jax reinstall.
- Next: sync when `squeue -u jnightin -t R` shows no euclid_dr1 jobs on the shared base, or the human accepts the risk.

## Check-in 2026-10-07

- RAL 2026-10-07 ~18:40Z: `squeue -u jnightin` showed 0 RUNNING, 0 PENDING (one probe). The 2026-10-04 blocker condition (no euclid_dr1 jobs on the shared base) is met.
- Three later probes timed out: shared mirror /mnt/ral/jnightin/PyAuto HEAD/tag UNVERIFIED.
- Human decision (same day, in chat): **never** HPCPullPyAuto the shared mirror while euclid_dr1 depends on it. Phase 3 runs from a private RAL checkout at tag 2026.10.7.1 (contains PyAutoArray#595) with its own environment; Nerves at that tag excludes jax 0.10.* and RAL has jax 0.10.2, so the private env needs a compliant jax. Status → `ready`; compute for the A100 rows still needs separate authorization.

---

# Linear-solver programme phase 3: GPU/vmap/A100 timing and parity rows for the solver corpus
Expand Down
4 changes: 4 additions & 0 deletions tasks/pair_jax_xla_env_vars_with_measured.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Original task retained verbatim below. Current scheduling state: `campaigns.yaml
- Context: jax-version policy changes (Mind `complete/2026/10/jax-lapack-compatibility-repair.md`) merged to library mains 2026-10-04, unreleased.
- Next: select one bounded step when prioritised.

## Check-in 2026-10-07

- Context: the jax-version policy is now released; all 2026.10.7.1 libraries require Nerves with the JAX deadlock exclusions. Unissued.

---

# Pair JAX/XLA env vars with measured compile and run times, per backend
Expand Down
5 changes: 5 additions & 0 deletions tasks/point_source_image_plane_gpu_breakdown.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ The original task below is retained verbatim. Current scheduling state lives in
- Forward-mode NaN bug issued: [PyAutoLens#767](https://github.com/PyAutoLabs/PyAutoLens/issues/767). Reproduced on CPU fp64: forward `[nan]x5`, reverse finite; stack 2026.10.4.1+3 `b695e57b6`. Mind registry commit `0112ccba`.
- The autolens_inference image-plane fit measurement still awaits human authorisation.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/PyAutoLens/issues/767 closed; fixed by https://github.com/PyAutoLabs/PyAutoLens/pull/768 (merged 2026-10-04T20:41Z, 0659903d4), in tag 2026.10.7.1 (merge-base verified). Correctness only; no timing claim.
- Stays `needs-decision`: the autolens_inference image-plane fit measurement still awaits human authorisation.

---

# Point-source A100 speed-up campaign: profile and optimize with the shared breakdown
Expand Down
6 changes: 6 additions & 0 deletions tasks/pointsolver_cpu_speed_campaign_remainder.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ The original task below is retained verbatim. Current scheduling state lives in
- Issue: [autolens_profiling#370](https://github.com/PyAutoLabs/autolens_profiling/issues/370). Branch `feature/point-source-wiki-reconcile` @`0560284`, parked at Heart RED.
- Still owed: RAL cleanup, register_model grad-zero prompt, test move, CI smoke cells, `nopad` deletion.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/autolens_profiling/pull/373 (issue #370) merged 2026-10-04T20:49Z: wiki reconcile + completion evidence (https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/results/notes/point_source_cpu_campaign.md#campaign-completion-evidence-2026-10-04).
- Still owed (unchanged), now tracked by Mind draft `draft/maintenance/autolens/point_source_cpu_campaign_owed_leftovers.md` (2026-10-04): RAL cleanup, test move, register_model grad-zero prompt, CI smoke cells, constant_folding A/B, nopad deletion, quiet re-runs.
- RAL leftover folders not re-listed 2026-10-07 (unverified).

---

# Point-source (single-source) CPU campaign — carried leftovers and completion evidence
Expand Down
6 changes: 6 additions & 0 deletions tasks/runtime_cell_single_jit_gpu_warmup.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ The original task below is retained verbatim. Current scheduling state lives in
- Local CPU witness: `single_jit` 0.417 ms vs median 0.388 ms (p10 0.320, p90 0.545).
- Imaging cells not yet wired.

## Check-in 2026-10-07

- Option (a) merged: https://github.com/PyAutoLabs/autolens_profiling/pull/374 (issue #371, 2026-10-04). `full_pipeline_single_jit_median_ms` (p10/p90) sits beside the unchanged `single_jit`; the GPU headline is labelled "first block after compile" (https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/scripts/point_source_source/source_plane/likelihood_runtime_solved.py).
- Imaging release-sweep cells are not wired. `git log --since=2026-10-04 origin/main -- results/` shows only #375 streaming rows and a README layout refactor: no release sweep on main, so the new field has no sweep rows yet.
- Stays `active`: wire imaging cells; the field appears at the next release sweep.

---

# Runtime cells' A100 `single_jit` includes the post-compile warm-up — source-plane 0.642 ms vs a steady 0.267 ms on the same node
Expand Down
6 changes: 6 additions & 0 deletions tasks/setup_baseline_campaign.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,9 @@ keeps its existing receipts and snapshots; this task creates no new measurements
Until those steps are complete, retain `needs-decision`: no campaign is reported
as running or accepted, and specification implementation remains distinct from
the later collection and review deliverables.

## Check-in 2026-10-07

- Specification merged: https://github.com/PyAutoLabs/autolens_profiling/pull/385 (2026-10-06; issue #384 closed 2026-10-06; PyAutoPulse#17 closed 2026-10-06). `baseline/campaign.json` is status draft, version 1, with `baseline/README.md` readiness contract (https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/baseline/campaign.json, https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/wiki/campaigns/setup_baseline.md).
- Six unknowns recorded verbatim: no frozen revisions/env lock; no collection authorization/window; hardware/affinity identity unselected; each cell needs complete settings, input hashes, witness + tolerances; compile per-cell builder unavailable; proposed fp64/mixed coverage is not evidence of support.
- Status stays `needs-decision`: no collection or acceptance authorized; the check-in authorizes none.
5 changes: 5 additions & 0 deletions tasks/timing_noise_audit.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,11 @@ The original task below is retained verbatim. Current scheduling state lives in
- Adjacent but distinct: PyAutoHeart#276 / PR #277 (unit-timing distinct baseline) completed 2026-10-04; that is Heart unit-test timing, not profiling gates.
- Next: start the audit (read-and-classify) phase via start_dev, reusing #362.

## Check-in 2026-10-07

- https://github.com/PyAutoLabs/autolens_profiling/issues/362 still open, 0 comments, unassigned, unchanged since 2026-10-02.
- Related new Mind draft: `draft/bug/autolens_profiling/call_accounting_ci_timing_threshold.md` (2026-10-06).

---

# Audit timing tests and profiling gates for measurement noise
Expand Down
Loading