From 1749070d544921e6275750e7a19e27ce463140a5 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 8 Oct 2026 09:22:12 +0100 Subject: [PATCH] pulse: linear-solver phase 3b delivered as autolens_profiling#396 (A100 job 398249); PR open, /prm pending Co-Authored-By: Claude Fable 5.1 --- campaigns.yaml | 19 +++++++++++-------- dashboard.html | 2 +- dashboard.md | 6 +++--- tasks/mge_nnls_fix_pyautoarray_571_slam_60.md | 9 +++++++++ 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/campaigns.yaml b/campaigns.yaml index 81cf73b..c063b5e 100644 --- a/campaigns.yaml +++ b/campaigns.yaml @@ -61,9 +61,12 @@ campaigns: next: 'Phase 3a SHIPPED 2026-10-07: autolens_profiling#394 merged 21:18Z (a55dcacb), issue #393 closed. A100 job 397475 from a PRIVATE 2026.10.7.1 checkout (shared mirror untouched, human rule): released pdip_raw CPU vs A100 parity max |d flux_inactive_rel| 5.4e-14, iterations identical 81/81; still inadmissible under the pre-registered rule on - both devices. Next: phase 3b GPU/vmap timing cell (Mind draft linear_solver_phase3b_gpu_timing_cell.md, committed - 208bac7b) via start_dev; awaits plan approval and A100 compute authorization. 2026-10-08: RAL euclid_dr1 arrays - running again on the shared base (397467/397469-74), so phase 3b stays on the private checkout.' + both devices. Phase 3b PR OPEN 2026-10-08: autolens_profiling#396 (issue #395), A100 job 398249 (euclid-ral-gpu-2, + 0:38) from the private base; pdip_raw per-eval min ms CPU 1.35/0.88/0.68 vs A100 3.95/0.58/0.19 at B=1/16/50 + (SLaM distinct lanes); jacobi 1.94x pdip_raw at A100 B=50 because one diverging lane holds the batch at the 50 cap; + compile 0.3-1.2 s separate. New: jacobi batched vs unbatched trajectories differ on the A100 (19/50 lanes), not + on CPU. Timing is not admissibility; no pin moves. Next: human /prm on #396, then decide whether phase 3 closes + the programme.' evidence: https://github.com/PyAutoLabs/autolens_profiling/blob/719459fefb40c7e5be157f652818dbf923830557/wiki/campaigns/linear_solver_accuracy.md - id: imaging title: Production imaging and likelihood breakdown @@ -206,11 +209,11 @@ tasks: priority: medium path: tasks/mge_nnls_fix_pyautoarray_571_slam_60.md updated: '2026-10-08' - issue: https://github.com/PyAutoLabs/autolens_profiling/issues/393 - next: 'Phase 3a (parity) shipped 2026-10-07 in autolens_profiling#394; Mind record complete/2026/10/linear-solver-p3a-a100-parity.md. - Remaining: phase 3b timing cell (single/vmap16/vmap50, jacobi vs raw, compile separate) from the private RAL base - /mnt/ral/jnightin/PyAuto_wt/linear-solver-p3 (five library clones present 2026-10-08) — Mind draft committed 208bac7b; - start_dev awaits plan approval; A100 rows need compute authorization. Pulse ledger PR #34 open, green, unmerged.' + issue: https://github.com/PyAutoLabs/autolens_profiling/issues/395 + next: 'Phase 3a shipped (autolens_profiling#394). Phase 3b issued 2026-10-08 as #395 and delivered as PR #396 (CPU rows + from tag worktrees + A100 job 398249 from the private base, RAL worktree autolens_profiling_wt/linear-solver-p3b); + lint pending at review time. Remaining: human /prm on #396; Mind record; then a programme-level decision (phase 3 + was the last filed phase).' evidence: https://github.com/PyAutoLabs/PyAutoArray/pull/595 - id: autofit_profiling_bootstrap campaign: autofit diff --git a/dashboard.html b/dashboard.html index f80335c..d21e2c5 100644 --- a/dashboard.html +++ b/dashboard.html @@ -645,7 +645,7 @@ Work on GitHub: - PyAutoPulse: https://github.com/PyAutoLabs/PyAutoPulse - autolens_profiling: https://github.com/PyAutoLabs/autolens_profiling
Last updated 2026-10-07 21:18:50 UTC
↻ Update

-

Active campaigns

CampaignStatusLinks
Setup baseline collection and scientific acceptance
1 task · next step

Specification merged as draft v1 (autolens_profiling#385, 2026-10-06; issue #384 closed). Six unknowns remain: 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. Human freezes the manifest before separately authorizing collection.

Reviewed 2026-10-07

Active tasks

Freeze the setup baseline specification, then collect and review evidence↗

needs-decision · high

Specification merged as draft v1 (autolens_profiling#385, 2026-10-06). Human resolves the six recorded unknowns and freezes the specification; collection requires separate compute authorization. The report prepares evidence for human scientific review and never promotes baselines. CPU production arrays use ral only.

needs-decision
Point-source image plane · CPU
1 task · next step

Phases 1–4 shipped; completion evidence merged (autolens_profiling#373, 2026-10-04). Closing the epic is the human's call. Owed leftovers (RAL cleanup, test move, register_model grad-zero prompt, CI smoke cells, constant_folding A/B, nopad deletion, quiet re-runs) are in the Mind draft point_source_cpu_campaign_owed_leftovers.md. RAL leftover folders not re-listed 2026-10-07 (unverified).

Reviewed 2026-10-07

Active tasks

active
Point-source image plane · A100
1 task · next step

Phase 0+1 shipped. Forward-mode gradient NaN (PyAutoLens#767) fixed by PyAutoLens#768 (merged 2026-10-04) and released in 2026.10.7.1 (correctness). Remaining human decision: authorize the autolens_inference image-plane fit measurement. Heart unit-test timing rose on the rewritten #768 test file; not a controlled cost comparison (gradient_cost_probe is the instrument).

Reviewed 2026-10-07

Active tasks

needs-decision
Point-source source plane
2 tasks · next step

Core complete; parked. Nautilus leaf autolens_inference#17 merged 2026-10-02; no gradient-sampler leaf yet, so Blackjax stays parked (admission not met). Warm-up task option (a) merged as autolens_profiling#374 (2026-10-04); imaging cells and a release sweep remain.

Reviewed 2026-10-07

Active tasks

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↗

active · low

Option (a) merged (autolens_profiling#374, 2026-10-04): full_pipeline_single_jit_median_ms (p10/p90) beside unchanged single_jit; GPU headline labelled "first block after compile". Imaging release-sweep cells not wired. No release sweep on main yet (results/ commits since 2026-10-04: #375 streaming rows, a README refactor), so the new field has no sweep rows.

parked
Cluster PointSolver robustness and performance
2 tasks · next step

Unchanged since 2026-09-27; nothing issued or claimed. Wiki still points at the removed Mind draft (now Pulse tasks/). Pick one bounded phase: observable-overflow invalid-result policy + CI witness, or a representative-data baseline cell.

Reviewed 2026-10-04

Active tasks

active
Interferometer likelihood and streaming
4 tasks · next step

Decision matrix complete: last cell merged (autolens_profiling#372, 2026-10-04; 1.59e-3 nat CPU/A100 gap accepted by the human). Streaming scaling phase 1 CPU rows merged (#375); 1e8 CPU and A100 rows need compute authorization. fnnls memo back-off released in 2026.10.7.1 (PyAutoArray#615); the #332 after-measurement is owed. Curvature preload and W~ FFT tasks unstarted.

Reviewed 2026-10-07

Active tasks

active
Linear-solver accuracy and cost
1 task · next step

Phase 3a SHIPPED 2026-10-07: autolens_profiling#394 merged 21:18Z (a55dcacb), issue #393 closed. A100 job 397475 from a PRIVATE 2026.10.7.1 checkout (shared mirror untouched, human rule): released pdip_raw CPU vs A100 parity max |d flux_inactive_rel| 5.4e-14, iterations identical 81/81; still inadmissible under the pre-registered rule on both devices. Next: phase 3b GPU/vmap timing cell (Mind draft linear_solver_phase3b_gpu_timing_cell.md, committed 208bac7b) via start_dev; awaits plan approval and A100 compute authorization. 2026-10-08: RAL euclid_dr1 arrays running again on the shared base (397467/397469-74), so phase 3b stays on the private checkout.

Reviewed 2026-10-08

Active tasks

Linear-solver programme phase 3: GPU/vmap/A100 timing and parity rows for the solver corpus↗

active · medium

Phase 3a (parity) shipped 2026-10-07 in autolens_profiling#394; Mind record complete/2026/10/linear-solver-p3a-a100-parity.md. Remaining: phase 3b timing cell (single/vmap16/vmap50, jacobi vs raw, compile separate) from the private RAL base /mnt/ral/jnightin/PyAuto_wt/linear-solver-p3 (five library clones present 2026-10-08) — Mind draft committed 208bac7b; start_dev awaits plan approval; A100 rows need compute authorization. Pulse ledger PR #34 open, green, unmerged.

active
Production imaging and likelihood breakdown
3 tasks · next step

No new results since the pin. Over-sampling phase 1: add --instrument production presets to the JAX Delaunay cells (CPU smoke only); PyAutoArray#606 S/N over-sampling helper (in 2026.10.4.1) is new context. Post-certified Blocked-by is stale (resolved 2026-09-27).

Reviewed 2026-10-04

Active tasks

active
Measurement reliability and profiling tools
9 tasks · next step

Only timing_noise_audit is issued (autolens_profiling#362: open, 0 comments, unassigned, unchanged since 2026-10-02); start its audit phase via start_dev. New related Mind draft draft/bug/autolens_profiling/call_accounting_ci_timing_threshold.md (2026-10-06). Other tasks unchanged and unissued.

Reviewed 2026-10-07

Active tasks

Audit timing tests and profiling gates for measurement noise↗

ready · high

Issued as autolens_profiling#362 (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). Start the read-and-classify audit phase via start_dev.

active
PyAutoFit profiling bootstrap
1 task · next step

Skeleton merged: autofit_profiling#1 (86c77345, 2026-10-07T21:17Z; AGENTS, hooks, hpc/sync, lint) under search-extensibility B1 (PyAutoMind#492). B1 docs legs PyAutoHeart#292 and .github#34 still open 2026-10-08. Porting unstarted; no producer registration until profiling-summary@2 is published (B4a).

Reviewed 2026-10-08

Active tasks

autofit_profiling: bootstrap the repo + general PyAutoFit profiling epic

ready · normal

Adopted by the search-extensibility epic (Mind draft/research/autofit/search_extensibility_epic.md); skeleton merged as autofit_profiling#1 (2026-10-07T21:17Z) under PyAutoMind#492 (B1). Next is B4a (search.fit breakdown exporter, Pulse fit row, epic-1 bottleneck table), then B4b (EP/graphical baseline port). No producer registration until profiling-summary@2 is published (B4a).

ready
Critical curves and evaluation grids
0 tasks · next step

Phase 3b cap fix shipped: PyAutoGalaxy#646 released in 2026.10.4.1 and autolens_workspace_test#343 merged 2026-10-04. Remaining per the wiki Next line: investigate seed coverage/path completion before cluster engine selection (human picks whether to scope it). Wiki page itself is stale (last edited 2026-10-02, still says #646 open).

Reviewed 2026-10-07

Active tasks

No open tasks.

needs-decision
Certified positive solver
0 tasks · next step

Parked by choice; wiki unchanged since ab1e4fd (2026-09-27). Its three library/workspace Mind drafts remain in Mind. Retain parked; read the project ledger before proposing new work.

Reviewed 2026-10-04

Active tasks

No open tasks.

parked

Open means tracked, not necessarily running. Full ledger ↗

Profiling Results