diff --git a/campaigns.yaml b/campaigns.yaml index 99f1c24..f4be407 100644 --- a/campaigns.yaml +++ b/campaigns.yaml @@ -157,14 +157,15 @@ campaigns: evidence: https://github.com/PyAutoLabs/autofit_profiling/issues/4 - id: critical-curves title: Critical curves and evaluation grids - status: needs-decision - updated: '2026-11-06' - next: 'No new campaign measurement. Phase 3b cap fix remains shipped; project wiki still incorrectly says #646 awaits - merge/release. Seed coverage and path completion remain unresolved; retain marching-squares decision and ask the - human whether to scope the next phase. Check-in 2026-10-17: no project wiki/results/issue change since 2026-10-13 - beyond autolens_profiling#420/#422/#424 (interferometer only); releases 2026.10.16.1/.2 and 2026.10.17.1 supply - no new measurement. Check-in 2026-11-06: no campaign measurement. Adjacent: PyAutoLens#808 (cluster plot_critical_curves/plot_caustics - now read general.critical_curves_method). Still needs a human decision on whether to scope the next phase.' + status: active + updated: '2026-11-06' + next: 'Human decision 2026-11-06 (chat): move toward the JAX zero-contour engine for critical curves in modeling-run + visualization, starting with a feasibility phase ("or doing work to figure out if its feasible"). Next bounded + step: task critical_curves_jax_modeling_viz_feasibility (correctness on posterior draws per scale against the + pre-registered two-pixel rule, cold/warm cost per visualization call on CPU and A100, cheap incomplete-curve detection + and marching-squares fallback; GO/NO-GO per scale). No default changes until a later phase. Prior: phase 3a cluster + NO-GO for default seeds (autolens_profiling#364); phase 3b cap fix PyAutoGalaxy#646; PyAutoLens#808 cluster plots + read critical_curves_method.' evidence: https://github.com/PyAutoLabs/autolens_profiling/blob/4db4d988e520a82219152743748c3188d485a4ba/wiki/campaigns/critical_curves.md - id: certified-solver title: Certified positive solver @@ -591,3 +592,14 @@ tasks: Still parked.' issue: https://github.com/PyAutoLabs/PyAutoArray/issues/629 evidence: https://github.com/PyAutoLabs/PyAutoArray/pull/637 +- id: critical_curves_jax_modeling_viz_feasibility + campaign: critical-curves + title: 'Feasibility: JAX zero-contour critical curves and caustics in modeling-run visualization' + status: ready + priority: medium + path: tasks/critical_curves_jax_modeling_viz_feasibility.md + updated: '2026-11-06' + next: Filed 2026-11-06 (human decision). Research only, no default change. Issue through start_dev (autolens_profiling, + with a Mind prompt referencing this task) when prioritised; uses the phase-4 posterior draws (autolens_inference#59) + as the correctness corpus. + evidence: https://github.com/PyAutoLabs/autolens_profiling/pull/364 diff --git a/dashboard.html b/dashboard.html index 9bea3a9..d0cb52e 100644 --- a/dashboard.html +++ b/dashboard.html @@ -834,7 +834,7 @@ - autolens_profiling: https://github.com/PyAutoLabs/autolens_profiling - autofit_profiling: https://github.com/PyAutoLabs/autofit_profiling - autolens_inference: https://github.com/PyAutoLabs/autolens_inference
Last updated 2026-11-05 21:29:18 UTC
↻ Update

-

Active campaigns

CampaignStatusLinks
Point-source image plane · CPU
1 task · next step

No new committed campaign measurements. Phases 1–4 remain shipped; epic closure is a human decision. Carried leftovers remain pending. RAL queue empty at review, but transfer preview timed out: cleanup folders and unpulled results unverified. Select one owed cleanup/measurement phase only after review. Check-in 2026-10-17: no project wiki/results/issue change since 2026-10-13 beyond autolens_profiling#420/#422/#424 (interferometer only); releases 2026.10.16.1/.2 and 2026.10.17.1 supply no new measurement. RAL queue holds only euclid_dr1 jobs; cleanup folders and unpulled results still unverified. Check-in 2026-11-06: no campaign measurement since 10-17. Adjacent shipped work (not this campaign's phases): PyAutoLens#800 residual_threshold spurious-core filter (default 10.0, 2026-10-23) and PyAutoLens#801 docstring + autolens_workspace guides/point_solver/limitations.py (records complete/2026/10/point-solver-spurious-core.md, point-solver-guide.md). Remainder task still unissued; epic closure remains a human decision.

Reviewed 2026-11-06

Active tasks

Point-source (single-source) CPU campaign — carried leftovers and completion evidence↗

ready · low

No new committed campaign measurements. Phases 1–4 remain shipped; epic closure is a human decision. Carried leftovers remain pending. RAL queue empty at review, but transfer preview timed out: cleanup folders and unpulled results unverified. Select one owed cleanup/measurement phase only after review. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

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

Parked as research, human decision 2026-10-17 (chat) ("just research to file"). Reference measurement autolens_profiling#434 (issue #427 closed) merged 2026-10-17 (human /prm): job 412519 euclid-ral-gpu-2 exclusive A100, jax 0.10.2, fp64, 2026.10.17.1 private clone: single call 0.934 ms (pre-#768 0.910), vmap-256 0.0125 ms (0.0120), compile 6.54 s; forward gradient finite 16/16, equal to reverse to 1.6e-11; logL bit-exact; +2.7% not attributed (different node/date). A100 per-step breakdown rows unusable. Phase-2 inference fit measurement dropped; no baseline admitted. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/point-source-image-gpu-admission.md. Check-in 2026-11-06: unchanged; no new A100 point-source measurement (the lifecycle 2c rows #480 are the day-zero point-source cells).

Reviewed 2026-11-06

Active tasks

Point-source A100 speed-up campaign: profile and optimize with the shared breakdown↗

parked · high

Parked, human decision 2026-10-17 (chat). Reference A100 measurement autolens_profiling#434 (merged 2026-10-17 (human /prm), issue #427 closed, job 412519): 0.934 ms single call, 0.0125 ms at vmap-256, forward gradient fixed; phase-2 inference fit measurement dropped. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/point-source-image-gpu-admission.md. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

parked
Cluster PointSolver robustness and performance
2 tasks · next step

Human decision 2026-10-23 (chat): keep the 1.0″ starting grid as the production default (decision record cluster-pointsolver-starting-grid; closes the phase-1 deferral). Inputs: phase-1 simple sweep (#438), A2744 pilot job 412573 (1.0″ misses fewest, 2/69), starting-grid follow-up autolens_profiling#439 → #440 merged 03d36c81 (no fixed scale finds every image; no separation rule). Mitigation: the workspace validation check. Next bounded task: spurious-core candidates library task (start_dev in progress), then the validation check. No default changed. Check-in 2026-11-06: spurious-core library task SHIPPED: PyAutoLens#800 merged 2026-10-23 (residual_threshold, default 10.0 by human decision) plus guide PyAutoLens#801 / autolens_workspace#600/#601 / HowToLens#101. Remaining bounded task: the workspace validation check, filed as Mind draft draft/feature/autolens_workspace/cluster_point_solver_validation_check.md (not started). Lifecycle 2e cluster rows (#490) are the day-zero cluster cells. No default changed.

Reviewed 2026-11-06

Active tasks

Cluster PointSolver — robustness, analysis settings and performance

active · normal

Decision taken 2026-10-23 (human): keep 1.0″ + validation check; #439/#440 merged (03d36c81). Next: spurious-core candidates library task (start_dev in progress), then the workspace validation check. Check-in 2026-11-06: spurious-core shipped (PyAutoLens#800, default residual_threshold 10.0, 2026-10-23) plus the point-solver guide (PyAutoLens#801, autolens_workspace#600/#601, HowToLens#101). Next bounded task: the workspace validation check (Mind draft draft/feature/autolens_workspace/cluster_point_solver_validation_check.md, not started).

PointSolver profiling cells: lensed quasar → cluster runtime tier → single/multi-source → multiplane

ready · normal

Unissued, no claim. Candidate first cell: a representative-data cluster likelihood_runtime baseline (single-source preset). Reconcile onto the phase-1 harness (scripts/cluster/image_plane/robust_settings_sweep.py) when the next cell is issued; no duplicate cell. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

active
Interferometer likelihood and streaming
4 tasks · next step

Evening 2026-10-17: human decision 2026-10-17 (chat): interferometer CPU work is exhaustive and closed; curvature preload parked ("we will come back to it soon"); GPU levers "file wiki research but not make source code changes for now", so no library prompt for JAX FFT pruning. Parked at knowledge-complete. All merged 2026-10-17 (human /prm), pending release for the library PRs: L2 symmetric direct_conv PyAutoArray#636 (issue #635 closed, pending-release; real Aris RAL 1.49×/1.53×/1.58× at 1,459/2,577/5,746 vertices, logL to round-off; decision record direct-conv-symmetric-gate) + record autolens_profiling#425; A100 FFT levers #433 (issue #429 closed) (pruned FFT 1.08×/1.18×/1.41× whole likelihood at alma/alma_high/jvla; pixel-scale coarsening fails the 0.5-nat bar); streaming 1e8 CPU/A100 + memo after-measurement #435 (issues #368, #426 closed). Route-constant refit (RAL FFT/full direct_conv 0.68 vs 0.89 predicted) deferred. Merged in order #636, #425, #432, #431, #433, #434, #435. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/direct-conv-symmetric.md, https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/ral-route-constants-fft-levers.md, https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/interferometer-streaming-memo-after.md. Check-in 2026-11-06: still parked. Aris large-mask follow-ups shipped 2026-10-24: the >=16-worker Nautilus SIGSEGV was numba first-imported inside forked workers; fixed by PyAutoFit#1715 (likelihood warm-up in the parent before forking), with PyAutoArray#655 (finufft CPU NUFFT backend) on its own merits. That warm-up later exposed the GNU OpenMP fork kill of numba prange kernels, fixed by PyAutoArray#677 (2026-11-05, pending release). Lifecycle 2b standard-size rows (#483) and quiet reruns (#494) are the current interferometer cells.

Reviewed 2026-11-06

Active tasks

fnnls warm-start memo: stop it slowing scattered evaluation streams (interferometer CPU, autolens_profiling#332)↗

parked · medium

After-measurement autolens_profiling#435 merged 2026-10-17 (human /prm) (issue #426 closed; job 412526, ral compute-10-2, load ~10, 1 thread, 6 rounds, paired bootstrap 90% CI): Delaunay iid #332 flags 1.918 [1.887,1.925] (2.17 in #332); 15 timed solves 1.018 [1.013,1.023]; Delaunay walk 0.46; rect iid 0.887/0.987; rect walk 0.15; FoM identical. Not evidence #613 is fixed. Research owed: Nautilus-replay witness, varied-seed rounds. Parked, human decision 2026-10-17 (chat). Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/interferometer-streaming-memo-after.md. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

Campaign: interferometer streaming (array-free) vs in-memory — memory and time scaling to 2e8 visibilities↗

parked · high

Phase 2 autolens_profiling#435 merged 2026-10-17 (human /prm) (issue #368 closed): from_stream chunk 65536 fp64, 1e8 vis RAL CPU 707.5 s / 1.78 GB RSS, A100 157.3 s / 1.48 GB device; compile ~3 s constant. In-memory fails at 2.5e5 (RAL 10 GB cap) and 4e6 (A100); uncapped CPU ~7.5 kB/vis. Optional 2e8 rows are research; library candidate (chunk transformer.image_from) unfiled per human decision 2026-10-17 (chat). Parked. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/interferometer-streaming-memo-after.md. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

Interferometer W~ curvature matrix is FFT-bound on the mask extent: pruned padded FFT and real-space pixel scale on the A100

parked · normal

A100 research autolens_profiling#433 merged 2026-10-17 (human /prm) (issue #429 closed; job 412515): pruned padded FFT 1.08×/1.18×/1.41× whole likelihood at alma/alma_high/jvla, F exact to 1.7e-15; pixel-scale coarsening shifts log evidence by +1,310 to +2,757 nats (fails). No library prompt, human decision 2026-10-17 (chat). Parked. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/ral-route-constants-fft-levers.md. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

parked
Linear-solver accuracy and cost
0 tasks · next step

Retain the 2026-10-08 human decision: Jacobi for Mapper, raw+polish for MGE-only, no default change. Project wiki still says decision pending (stale). No new solver measurements after the recorded phase-5 results; release 2026.10.12.1 does not supply a rerun. Wide-prior/interferometer gaps remain evidence gaps, not authorized tasks. Check-in 2026-10-17: no project wiki/results/issue change since 2026-10-13 beyond autolens_profiling#420/#422/#424 (interferometer only); releases 2026.10.16.1/.2 and 2026.10.17.1 supply no new measurement. Check-in 2026-11-06: no solver measurement or wiki change since 10-17; releases 2026.11.1.1-2026.11.5.1 supply none. Project wiki still says decision pending (stale).

Reviewed 2026-11-06

Active tasks

No open tasks.

active
Production imaging and likelihood breakdown
3 tasks · next step

Production over-sampling phase 1 merged 2026-10-17 (human /prm): autolens_profiling#431 (issue #430 closed, CPU smoke 8/8): --over-sampling {flat1,production} on the 4 JAX Delaunay/DelaunayNN cells, euclid/hst presets. Findings: HST flat-1 adapt_split pin fails on unmodified main (29155.000 vs 29140.296); numba cells' production threshold never reaches sub 4 for HST; rectangular JAX cells uncovered. Phase 2 (A100 production re-measure) needs-decision (human decision 2026-10-17 (chat): undecided). DelaunayNN imaging moved to the parked delaunay-nn-cpu campaign. Post-certified, quick-update plotting and other tasks unchanged. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/imaging-production-over-sampling.md. Human decision 2026-10-17 (chat): hold off on phase 2 (A100 production over-sampling re-measure); not authorized, revisit when production imaging needs a cost picture. Check-in 2026-11-06: phase 2 over-sampling still held (human). Lifecycle 2a standard-size imaging rows (#457-#461, #467, #470) stamped day_zero 2026.10.25.1 (#500) are now the imaging baseline; post-certified and quick-update tasks unchanged.

Reviewed 2026-11-06

Active tasks

Profile imaging pixelizations at production over-sampling

parked · normal

Phase 1 merged 2026-10-17 (human /prm): autolens_profiling#431 (issue #430 closed, CPU smoke 8/8). Phase 2 A100 production re-measure needs-decision (human decision 2026-10-17 (chat): undecided); requires compute authorization (#431 now merged). Findings: HST flat-1 adapt_split pin fails on main; numba HST threshold never reaches sub 4; rectangular JAX cells uncovered. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/imaging-production-over-sampling.md. Human decision 2026-10-17 (chat): phase 2 A100 re-measure held; task stays parked at phase 1 shipped (#431). Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

active
DelaunayNN (Sibson) mesh at Delaunay cost on the numba/NumPy CPU path
1 task · next step

Created parked, human decision 2026-10-17 (chat): "file in research to come back to in the future". PyAutoArray#637 (issue #629 closed) merged 2026-10-17 (human /prm), pending-release: RAL compute-10-4 exclusive 1 thread A-B-B-A ×2, 1,030 vertices / 15,380 px: NN sub4 0.569→0.392 s (2.20× Delaunay, was 3.00×), sub2 0.235→0.189 s (1.75×); logL bit-identical; fixes the size-0 Sibson NaN case. ~1.5× target not met; remaining cost is Sibson (~0.16 s) + wider curvature rows. Target and two hazards recorded as future work, not filed. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/delaunaynn-wide-row-overhead.md. Check-in 2026-11-06: PyAutoArray#677 (merged 2026-11-05, pending release, not in 2026.11.5.1) makes Nautilus workers run a serial Sibson build, and autolens_profiling#519/#520 (merged 2026-11-05) time the DelaunayNN numba cells on that worker route. Mind draft draft/bug/autoarray/sibson_serial_kernel_loses_allocation_hoisting.md: the serial kernel is about 1.25x prange@1, because numba hoists scratch allocations only under parallel=True. That is the cost every worker now pays. Stays parked.

Reviewed 2026-11-06

Active tasks

DelaunayNN (Sibson) imaging likelihood at close to Delaunay cost on the numba/NumPy CPU path↗

parked · normal

Parked, human decision 2026-10-17 (chat). PyAutoArray#637 merged 2026-10-17 (human /prm) (issue #629 closed, pending-release): sub4 2.20× Delaunay (was 3.00×), sub2 1.75×; logL bit-identical. Future (unfiled): ~1.5× target; hazards sub_slim_indexes_for_pix_index padding and Sibson rows with mid-row gaps. Records: https://github.com/PyAutoLabs/PyAutoMind/blob/main/complete/2026/10/delaunaynn-wide-row-overhead.md. Check-in 2026-11-06: PyAutoArray#677 (pending release) runs a serial Sibson build in Nautilus workers; autolens_profiling#519/#520 time the DelaunayNN cells on that route; the serial kernel is about 1.25x prange@1 (Mind draft draft/bug/autoarray/sibson_serial_kernel_loses_allocation_hoisting.md). Still parked.

parked
Measurement reliability and profiling tools
8 tasks · next step

Timing audit #410–#412 and raw HST/MGE pilot producer #416 merged; implementation issues #362/#415 closed. No fresh production measurements or scientific acceptance. C1/C11 repeat counts, C5 estimator policy, memo interpretation, fresh runtime repeats and other tools remain pending. #418 and #417 open. Evening 2026-10-17 merge-order note: Six open autolens_profiling PRs (#425, #431, #432, #433, #434, #435) all regenerate the shared catalogue/dashboard: each merge after the first needs a rebase + re-render; suggested order #425, #432, #431, #433, #434, #435. #425 after PyAutoArray#636. Check-in 2026-11-06: the numba thread pin landed differently than filed. autolens_profiling#519/#520 (human decision) pin only the DelaunayNN cells to the Nautilus worker route, instead of THREAD_ENV_VARS. The re-measure is Mind draft draft/feature/autolens_profiling/delaunay_nn_numba_optimal_remeasure_after_677.md, gated on the release carrying #677. Lifecycle phase 6 (#506-#518) measured forward vs value_and_grad plus FD on every cell, overlapping gradient_cost_probe (human decision whether it is superseded). Other tasks unchanged and unissued.

Reviewed 2026-11-06

Active tasks

Pin NUMBA_NUM_THREADS=1 in profiling cells; re-measure the DelaunayNN numba Optimal cell after PyAutoArray#677 releases

blocked · medium

Step 1 done differently than filed: autolens_profiling#519/#520 (merged 2026-11-05, human decision) pin only the two DelaunayNN numba cells to the Nautilus worker route (patched parallel_kernel_allowed, serial Sibson) instead of adding NUMBA_NUM_THREADS to THREAD_ENV_VARS. Laptop witness: patched route matches a real forked worker (1.024x); serial Sibson is about 1.25x prange@1 (Mind draft draft/bug/autoarray/sibson_serial_kernel_loses_allocation_hoisting.md). Step 2 (RAL re-measure, supersede the 2026.10.25.1 rows) is Mind draft draft/feature/autolens_profiling/delaunay_nn_numba_optimal_remeasure_after_677.md, blocked on a release carrying PyAutoArray#677 (2026.11.5.1 does not). Step 3 (day-zero designation) stays a human decision.

jax_compile/probe.py lost its cell builder with the searches tier — give profiling its own

active · high

Manual HST/MGE fp64 jit builder #414 and separate raw pilot runner #416 merged. Bounded Mind implementations complete; wider builder coverage/global compile dispatch still unavailable. Agree a next capability or separately authorize a qualified pilot; no production compute authorized. Check-in 2026-10-17: autolens_profiling#418 (pilot qualification design) open since 2026-10-13 with CI green and no review; #417 open; no new measurements. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

Pair JAX/XLA env vars with measured compile and run times, per backend

ready · high

Unchanged and unissued. Context: the jax-version policy is now released (2026.10.7.1 libraries require Nerves with the JAX deadlock exclusions). Select one bounded step when prioritised. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

active
PyAutoFit profiling bootstrap
1 task · next step

B4a (autofit_profiling#3) and B4b (autofit_profiling#5, issue #4 closed, merged 2026-10-15) shipped: search.fit breakdown cell, profiling-summary@2 exporter, EP/graphical N3/N10/N30 baselines and analytic parity cell; #6 repointed RAL paths to the category layout (2026-10-15). Pulse fit fixture/campaign merged (#60, #61); fit receipt ok at autofit_profiling 58e56b9 (31 records, fetched 2026-10-15T22:58Z), so the post-deploy refresh is done. Epic 2 not opened: next bounded step is a human-scoped epic-2 campaign row; B5c inference work belongs to Insight, not Pulse. Check-in 2026-11-06: no change since 10-15 beyond CI token wiring (autofit_profiling#7). Epic 2 still not opened (human scope).

Reviewed 2026-11-06

Active tasks

autofit_profiling: bootstrap the repo + general PyAutoFit profiling epic

active · normal

B4a (autofit_profiling#3) and B4b (autofit_profiling#5, issue #4 closed, merged 2026-10-15) shipped: search.fit breakdown cell, profiling-summary@2 exporter, EP/graphical N3/N10/N30 baselines and analytic parity cell; #6 repointed RAL paths to the category layout (2026-10-15). Pulse fit fixture/campaign merged (#60, #61); fit receipt ok at autofit_profiling 58e56b9 (31 records, fetched 2026-10-15T22:58Z), so the post-deploy refresh is done. Epic 2 not opened: next bounded step is a human-scoped epic-2 campaign row; B5c inference work belongs to Insight, not Pulse. Check-in 2026-11-06: unchanged (no autolens_profiling PR/issue, Mind record or measurement touching it since the last review).

active
Critical curves and evaluation grids
0 tasks · next step

No new campaign measurement. Phase 3b cap fix remains shipped; project wiki still incorrectly says #646 awaits merge/release. Seed coverage and path completion remain unresolved; retain marching-squares decision and ask the human whether to scope the next phase. Check-in 2026-10-17: no project wiki/results/issue change since 2026-10-13 beyond autolens_profiling#420/#422/#424 (interferometer only); releases 2026.10.16.1/.2 and 2026.10.17.1 supply no new measurement. Check-in 2026-11-06: no campaign measurement. Adjacent: PyAutoLens#808 (cluster plot_critical_curves/plot_caustics now read general.critical_curves_method). Still needs a human decision on whether to scope the next phase.

Reviewed 2026-11-06

Active tasks

No open tasks.

needs-decision
Certified positive solver
0 tasks · next step

Parked unchanged. No new campaign evidence; existing C2/library/workspace drafts remain pending. Do not infer admission from solver timing, and do not change default or restart the campaign. Check-in 2026-10-17: no project wiki/results/issue change since 2026-10-13 beyond autolens_profiling#420/#422/#424 (interferometer only); releases 2026.10.16.1/.2 and 2026.10.17.1 supply no new measurement. Check-in 2026-11-06: unchanged.

Reviewed 2026-11-06

Active tasks

No open tasks.

parked
Likelihood lifecycle phase 2 (per-dataset-type runtime and breakdown cells on the pinned release)
0 tasks · next step

Phases 2, 3 and 6 complete (day_zero 2026.10.25.1: 480 records / 116 cells; day_zero_gradient: 10 records). Phase 4 (inference wall-time validation, autolens_inference -> walltime-validation@1): runners for all 20 likelihoods merged (#55-#58); 56 imaging/hst rows on 2026.10.17.1 adopted. All GPU legs done; CPU legs: 31 completed. Check-in 2026-11-06: 4e STARTED (autolens_inference#59). Its branch holds 103 phase-4 rows (293 walltime records, gates green); one PR once the last legs land (human). Cores sweep complete: parallel efficiency 0.68/0.62/0.55/0.36/0.28 at 2/4/8/16/32 cores; 1-core 601 vs profiled 566 ms/eval. Nautilus samples_info time across a kill and resume reads 3-4x high, so the resumed multi_galaxy/mge leg 414362 is discarded and rerun fresh as 414392 (human). Wall-estimate bug filed: draft/bug/autolens_inference/validation_wall_estimates_miss_eval_count_and_sampler_floor.md (actual/estimate 0.55-89.5x). Still running: 414148 datacube (long pole), 414156_1, 414158, 414159, 414161, 414392. Parity layout (wiki/project/p4_backend_parity.md on the branch) awaits human rulings. Next: last legs -> 4e PR -> Pulse lens-walltime refresh; then phase 5 scoping.

Reviewed 2026-11-06

Active tasks

No open tasks.

active

Open means tracked, not necessarily running. Full ledger ↗

Profiling Timings

PyAutoFit

PyAutoLens
140 results

All rows: default lens light

Dataset type Model Instrument Source size Setup Hardware class Runtime(s)Est. 12 CPU(s)Class Details
clusterimage_planesimplestandardjax_cpuhpc_ral_cpu0.00615—optimal›
clusterimage_planesimplestandardjax_gpuhpc_a1000.00020—optimal›
clustersource_planesimplestandardjax_cpuhpc_a1000.00029—experimental›
clustersource_planesimplestandardjax_cpuhpc_ral_cpu0.00025—optimal›
clustersource_planesimplestandardjax_gpuhpc_a1000.00005—optimal›
datacubedelaunayalmastandardjax_cpu_sparse_wtildehpc_ral_cpu14.29435—secondary›
datacubedelaunayalmastandardjax_gpu_sparse_wtildehpc_a1001.25160—secondary›
datacubedelaunayalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu9.355701.55928optimal›
datacubedelaunayalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu22.05096—secondary›
datacubedelaunayalma_highstandardjax_gpu_sparse_wtildehpc_a1001.43666—secondary›
datacubedelaunayalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu17.643212.94054optimal›
datacubedelaunaysmastandardjax_cpu_dense_nuffthpc_ral_cpu22.90377—experimental›
datacubedelaunaysmastandardjax_cpu_sparse_wtildehpc_ral_cpu12.90693—secondary›
datacubedelaunaysmastandardjax_gpu_dense_nuffthpc_a1001.18548—secondary›
datacubedelaunaysmastandardjax_gpu_sparse_wtildehpc_a1001.15442—secondary›
datacubedelaunaysmastandardnumba_cpu_sparse_wtildehpc_ral_cpu8.444131.40735optimal›
groupdelaunayeuclidstandardjax_cpu_sparsehpc_a1003.83232—experimental›
groupdelaunayeuclidstandardjax_cpu_sparsehpc_ral_cpu6.05431—secondary›
groupdelaunayeuclidstandardjax_gpu_densehpc_a1000.03656—optimal›
groupdelaunayeuclidstandardjax_gpu_sparsehpc_a1000.05559—secondary›
groupdelaunayeuclidstandardnumba_cpu_sparsehpc_ral_cpu0.803730.13395optimal›
groupmgeeuclidstandardjax_cpu_densehpc_ral_cpu0.03737—optimal›
groupmgeeuclidstandardjax_gpu_densehpc_a1000.00083—optimal›
grouprectangulareuclidstandardjax_cpu_sparsehpc_a1003.23359—experimental›
grouprectangulareuclidstandardjax_cpu_sparsehpc_ral_cpu5.92017—secondary›
grouprectangulareuclidstandardjax_gpu_densehpc_a1000.02983—optimal›
grouprectangulareuclidstandardjax_gpu_sparsehpc_a1000.05066—secondary›
grouprectangulareuclidstandardnumba_cpu_sparsehpc_ral_cpu0.899580.14993optimal›
imagingdelaunayaostandardjax_cpu_sparsehpc_a10056.56584—experimental›
imagingdelaunayaostandardjax_cpu_sparsehpc_ral_cpu81.31091—secondary›
imagingdelaunayaostandardjax_gpu_densehpc_a1000.34787—optimal›
imagingdelaunayaostandardjax_gpu_sparsehpc_a1000.82149—secondary›
imagingdelaunayaostandardnumba_cpu_sparsehpc_ral_cpu8.671301.44522optimal›
imagingdelaunayeuclidstandardjax_cpu_sparsehpc_a1001.14835—experimental›
imagingdelaunayeuclidstandardjax_cpu_sparsehpc_ral_cpu1.24691—secondary›
imagingdelaunayeuclidstandardjax_gpu_densehpc_a1000.01450—optimal›
imagingdelaunayeuclidstandardjax_gpu_sparsehpc_a1000.01796—secondary›
imagingdelaunayeuclidstandardnumba_cpu_sparsehpc_ral_cpu0.819970.13666optimal›
imagingdelaunayhststandardjax_cpu_sparsehpc_a1002.47782—experimental›
imagingdelaunayhststandardjax_cpu_sparsehpc_ral_cpu2.99106—secondary›
imagingdelaunayhststandardjax_gpu_densehpc_a1000.03419—optimal›
imagingdelaunayhststandardjax_gpu_sparsehpc_a1000.04716—secondary›
imagingdelaunayhststandardnumba_cpu_sparsehpc_ral_cpu0.951680.15861optimal›
imagingdelaunayjwststandardjax_cpu_sparsehpc_a1005.08536—experimental›
imagingdelaunayjwststandardjax_cpu_sparsehpc_ral_cpu6.56182—secondary›
imagingdelaunayjwststandardjax_gpu_densehpc_a1000.06970—optimal›
imagingdelaunayjwststandardjax_gpu_sparsehpc_a1000.10760—secondary›
imagingdelaunayjwststandardnumba_cpu_sparsehpc_ral_cpu1.744600.29077optimal›
imagingdelaunay_nnhststandardjax_cpu_sparsehpc_a1005.87672—experimental›
imagingdelaunay_nnhststandardjax_cpu_sparsehpc_ral_cpu7.24895—secondary›
imagingdelaunay_nnhststandardjax_gpu_densehpc_a1000.04174—optimal›
imagingdelaunay_nnhststandardjax_gpu_sparsehpc_a1001.14899—secondary›
imagingdelaunay_nnhststandardnumba_cpu_sparsehpc_ral_cpu1.294800.21580optimal›
imagingmgeaostandardjax_cpu_densehpc_ral_cpu0.51180—optimal›
imagingmgeaostandardjax_gpu_densehpc_a1000.01878—optimal›
imagingmgeeuclidstandardjax_cpu_densehpc_ral_cpu0.00707—optimal›
imagingmgeeuclidstandardjax_gpu_densehpc_a1000.00020—optimal›
imagingmgehststandardjax_cpu_densehpc_ral_cpu0.01629—optimal›
imagingmgehststandardjax_gpu_densehpc_a1000.00039—optimal›
imagingmgejwststandardjax_cpu_densehpc_ral_cpu0.05055—optimal›
imagingmgejwststandardjax_gpu_densehpc_a1000.00092—optimal›
imagingrectangularaostandardjax_cpu_sparsehpc_a10050.70251—experimental›
imagingrectangularaostandardjax_cpu_sparsehpc_ral_cpu76.81754—secondary›
imagingrectangularaostandardjax_gpu_densehpc_a1000.31711—optimal›
imagingrectangularaostandardjax_gpu_sparsehpc_a1000.93699—secondary›
imagingrectangularaostandardnumba_cpu_sparsehpc_ral_cpu9.982181.66370optimal›
imagingrectangulareuclidstandardjax_cpu_sparsehpc_a1000.82523—experimental›
imagingrectangulareuclidstandardjax_cpu_sparsehpc_ral_cpu0.91061—secondary›
imagingrectangulareuclidstandardjax_gpu_densehpc_a1000.00768—optimal›
imagingrectangulareuclidstandardjax_gpu_sparsehpc_a1000.01293—secondary›
imagingrectangulareuclidstandardnumba_cpu_sparsehpc_ral_cpu0.282500.04708optimal›
imagingrectangularhstsource_pixels_784jax_cpu_sparsehpc_a1001.15558—experimental›
imagingrectangularhststandardjax_cpu_sparsehpc_a1001.93196—experimental›
imagingrectangularhststandardjax_cpu_sparsehpc_ral_cpu2.96301—secondary›
imagingrectangularhstsource_pixels_784jax_gpu_densehpc_a1000.01328—secondary›
imagingrectangularhststandardjax_gpu_densehpc_a1000.02468—optimal›
imagingrectangularhstsource_pixels_784jax_gpu_sparsehpc_a1000.02924—secondary›
imagingrectangularhststandardjax_gpu_sparsehpc_a1000.04052—secondary›
imagingrectangularhstsource_pixels_784numba_cpu_sparsehpc_ral_cpu0.566510.09442secondary›
imagingrectangularhststandardnumba_cpu_sparsehpc_ral_cpu0.696740.11612optimal›
imagingrectangularjwststandardjax_cpu_sparsehpc_a1004.19764—experimental›
imagingrectangularjwststandardjax_cpu_sparsehpc_ral_cpu5.75356—secondary›
imagingrectangularjwststandardjax_gpu_densehpc_a1000.06071—optimal›
imagingrectangularjwststandardjax_gpu_sparsehpc_a1000.10733—secondary›
imagingrectangularjwststandardnumba_cpu_sparsehpc_ral_cpu1.688070.28135optimal›
interferometerdelaunayalmastandardjax_cpu_sparse_wtildehpc_ral_cpu2.12071—secondary›
interferometerdelaunayalmastandardjax_gpu_sparse_wtildehpc_a1000.02083—optimal›
interferometerdelaunayalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.764950.12749optimal›
interferometerdelaunayalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu7.60144—secondary›
interferometerdelaunayalma_highstandardjax_gpu_sparse_wtildehpc_a1000.06371—optimal›
interferometerdelaunayalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu9.328691.55478optimal›
interferometerdelaunayjvlastandardjax_cpu_sparse_wtildehpc_ral_cpu51.43514—secondary›
interferometerdelaunayjvlastandardjax_gpu_sparse_wtildehpc_a1000.46518—optimal›
interferometerdelaunayjvlastandardnumba_cpu_sparse_wtildehpc_ral_cpu63.7991510.63319optimal›
interferometerdelaunaysmastandardjax_cpu_dense_nuffthpc_ral_cpu5.82222—experimental›
interferometerdelaunaysmastandardjax_cpu_sparse_wtildehpc_ral_cpu0.78458—secondary›
interferometerdelaunaysmastandardjax_gpu_dense_nuffthpc_a1000.05735—secondary›
interferometerdelaunaysmastandardjax_gpu_sparse_wtildehpc_a1000.01136—optimal›
interferometerdelaunaysmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.279340.04656optimal›
interferometermgesmastandardjax_cpu_dense_nuffthpc_ral_cpu0.08329—optimal›
interferometermgesmastandardjax_gpu_dense_nuffthpc_a1000.00060—optimal›
interferometerrectangularalmastandardjax_cpu_sparse_wtildehpc_ral_cpu1.92896—secondary›
interferometerrectangularalmastandardjax_gpu_sparse_wtildehpc_a1000.04897—optimal›
interferometerrectangularalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.888770.14813optimal›
interferometerrectangularalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu7.42959—secondary›
interferometerrectangularalma_highstandardjax_gpu_sparse_wtildehpc_a1000.08106—optimal›
interferometerrectangularalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu8.919041.48651optimal›
interferometerrectangularjvlastandardjax_cpu_sparse_wtildehpc_ral_cpu48.48120—secondary›
interferometerrectangularjvlastandardjax_gpu_sparse_wtildehpc_a1000.45628—optimal›
interferometerrectangularjvlastandardnumba_cpu_sparse_wtildehpc_ral_cpu61.4360510.23934optimal›
interferometerrectangularsmastandardjax_cpu_dense_nuffthpc_ral_cpu5.38033—experimental›
interferometerrectangularsmastandardjax_cpu_sparse_wtildehpc_ral_cpu0.64392—secondary›
interferometerrectangularsmastandardjax_gpu_dense_nuffthpc_a1000.05198—secondary›
interferometerrectangularsmastandardjax_gpu_sparse_wtildehpc_a1000.00675—optimal›
interferometerrectangularsmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.230860.03848optimal›
multi_datasetdelaunayhststandardjax_cpu_sparsehpc_a1004.87350—experimental›
multi_datasetdelaunayhststandardjax_cpu_sparsehpc_ral_cpu6.21428—secondary›
multi_datasetdelaunayhststandardjax_gpu_densehpc_a1000.17631—optimal›
multi_datasetdelaunayhststandardjax_gpu_sparsehpc_a1000.20415—secondary›
multi_datasetdelaunayhststandardnumba_cpu_sparsehpc_ral_cpu2.852390.47540optimal›
multi_galaxydelaunayhststandardjax_cpu_sparsehpc_a1002.96473—experimental›
multi_galaxydelaunayhststandardjax_cpu_sparsehpc_ral_cpu3.72110—secondary›
multi_galaxydelaunayhststandardjax_gpu_densehpc_a1000.03050—optimal›
multi_galaxydelaunayhststandardjax_gpu_sparsehpc_a1000.04525—secondary›
multi_galaxydelaunayhststandardnumba_cpu_sparsehpc_ral_cpu0.850330.14172optimal›
multi_galaxymgehststandardjax_cpu_densehpc_ral_cpu0.02658—optimal›
multi_galaxymgehststandardjax_gpu_densehpc_a1000.00058—optimal›
multi_galaxyrectangularhststandardjax_cpu_sparsehpc_a1002.49780—experimental›
multi_galaxyrectangularhststandardjax_cpu_sparsehpc_ral_cpu3.85938—secondary›
multi_galaxyrectangularhststandardjax_gpu_densehpc_a1000.02184—optimal›
multi_galaxyrectangularhststandardjax_gpu_sparsehpc_a1000.03811—secondary›
multi_galaxyrectangularhststandardnumba_cpu_sparsehpc_ral_cpu1.098570.18309optimal›
point_source_imageimage_planesimplestandardjax_cpuhpc_ral_cpu0.00095—optimal›
point_source_imageimage_planesimplestandardjax_gpuhpc_a1000.00040—optimal›
point_source_sourcesource_planesimplestandardjax_cpuhpc_a1000.00010—experimental›
point_source_sourcesource_planesimplestandardjax_cpuhpc_ral_cpu0.00006—optimal›
point_source_sourcesource_planesimplestandardjax_gpuhpc_a1000.00012—optimal›
weakisothermalsimplestandardjax_cpu_densehpc_a1000.00006—experimental›
weakisothermalsimplestandardjax_cpu_densehpc_ral_cpu0.00004—optimal›
weakisothermalsimplestandardjax_gpu_densehpc_a1000.00001—optimal›
Coverage: 0 optimal cells not measured

Every planned optimal cell has a current record.

Extra Information

Inference Timings

PyAutoFit

PyAutoFit inference benchmarking is collected on the PyAutoInsight board.

PyAutoLens
19 results

All rows: nautilus sampler

Dataset type Model Instrument Setup Hardware class Lens light Profiling runtime(s)Seed Cores(cores)Wall(s)Likelihood evals(evals)Implied time(s / eval)Details
imagingdelaunayhstnumba_cpu_sparsehpc_ral_cpudefault0.95168188648.2386600.22370›
imagingdelaunayhstnumba_cpu_sparsehpc_ral_cpulight_fixed—184563.6340600.13399›
imagingrectangularhstjax_cpu_densehpc_a100default—0832440.9304001.06713›
imagingrectangularhstjax_cpu_densehpc_a100default—1824129.2220201.09579›
imagingrectangularhstjax_cpu_densehpc_a100light_fixed—0821739.0237800.91417›
imagingrectangularhstjax_cpu_densehpc_a100light_fixed—1820092.1209400.95951›
imagingrectangularhstjax_cpu_sparsehpc_a100default1.155580836050.5217201.65978›
imagingrectangularhstjax_gpu_densehpc_a100default0.0132804558.6236800.02359›
imagingrectangularhstjax_gpu_densehpc_a100default0.0132814525.0216400.02426›
imagingrectangularhstjax_gpu_densehpc_a100light_fixed—04490.5228200.02149›
imagingrectangularhstjax_gpu_densehpc_a100light_fixed—14449.7207800.02164›
imagingrectangularhstjax_gpu_sparsehpc_a100default0.0292404826.9230600.03586›
imagingrectangularhstjax_gpu_sparsehpc_a100default0.0292414811.5229800.03531›
imagingrectangularhstjax_gpu_sparsehpc_a100light_fixed—041624.9487000.03336›
imagingrectangularhstjax_gpu_sparsehpc_a100light_fixed—141396.9418800.03336›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpudefault0.56651082605.2229200.11366›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpudefault0.56651182562.1222400.11520›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpulight_fixed—082329.4243400.09570›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpulight_fixed—182076.2219600.09455›

Decision History

Designation: weak/isothermal standard gpu_a100Designation: weak/isothermal standard cpu_many_coreDesignation: point_source_source/source_plane standard gpu_a100Designation: point_source_source/source_plane standard cpu_many_coreDesignation: point_source_image/image_plane standard gpu_a100Designation: point_source_image/image_plane standard cpu_many_coreDesignation: multi_galaxy/rectangular standard gpu_a100Designation: multi_galaxy/rectangular standard cpu_many_coreDesignation: multi_galaxy/mge standard gpu_a100Designation: multi_galaxy/mge standard cpu_many_coreDesignation: multi_galaxy/delaunay standard gpu_a100Designation: multi_galaxy/delaunay standard cpu_many_coreDesignation: multi_dataset/delaunay standard gpu_a100Designation: multi_dataset/delaunay standard cpu_many_coreDesignation: interferometer/rectangular standard gpu_a100Designation: interferometer/rectangular standard cpu_many_coreDesignation: interferometer/mge standard gpu_a100Designation: interferometer/mge standard cpu_many_coreDesignation: interferometer/delaunay standard gpu_a100Designation: interferometer/delaunay standard cpu_many_coreDesignation: imaging/rectangular standard gpu_a100Designation: imaging/rectangular standard cpu_many_coreDesignation: imaging/mge standard gpu_a100Designation: imaging/mge standard cpu_many_coreDesignation: imaging/delaunay standard gpu_a100Designation: imaging/delaunay standard cpu_many_coreDesignation: imaging/delaunay_nn standard gpu_a100Designation: imaging/delaunay_nn standard cpu_many_coreDesignation: group/rectangular standard gpu_a100Designation: group/rectangular standard cpu_many_coreDesignation: group/mge standard gpu_a100Designation: group/mge standard cpu_many_coreDesignation: group/delaunay standard gpu_a100Designation: group/delaunay standard cpu_many_coreDesignation: datacube/delaunay standard cpu_many_coreDesignation: cluster/source_plane standard gpu_a100Designation: cluster/source_plane standard cpu_many_coreDesignation: cluster/image_plane standard gpu_a100Designation: cluster/image_plane standard cpu_many_coreKeep --xla_cpu_multi_thread_eigen=false for the 2d JAX CPU legs (jaxlib 0.11.2 deadlock)Keep the 1.0″ PointSolver starting grid for cluster fits, with a validation checkGate the symmetric direct_conv kernel at work fraction 0.7, with ymin column orderingRoute interferometer curvature by a calibrated two-constant cost modelExclude zero-weight mappings from AdaptSplit pixel signals on Delaunay meshes onlyKeep Jacobi PDIP as the Mapper default and raw+polish as the MGE-only default

PyAutoLens
140 results

All rows: default lens light

Dataset type Model Instrument Source size Setup Hardware class Runtime(s)Est. 12 CPU(s)Class Details
clusterimage_planesimplestandardjax_cpuhpc_ral_cpu0.00615—optimal›
clusterimage_planesimplestandardjax_gpuhpc_a1000.00020—optimal›
clustersource_planesimplestandardjax_cpuhpc_a1000.00029—experimental›
clustersource_planesimplestandardjax_cpuhpc_ral_cpu0.00025—optimal›
clustersource_planesimplestandardjax_gpuhpc_a1000.00005—optimal›
datacubedelaunayalmastandardjax_cpu_sparse_wtildehpc_ral_cpu14.29435—secondary›
datacubedelaunayalmastandardjax_gpu_sparse_wtildehpc_a1001.25160—secondary›
datacubedelaunayalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu9.355701.55928optimal›
datacubedelaunayalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu22.05096—secondary›
datacubedelaunayalma_highstandardjax_gpu_sparse_wtildehpc_a1001.43666—secondary›
datacubedelaunayalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu17.643212.94054optimal›
datacubedelaunaysmastandardjax_cpu_dense_nuffthpc_ral_cpu22.90377—experimental›
datacubedelaunaysmastandardjax_cpu_sparse_wtildehpc_ral_cpu12.90693—secondary›
datacubedelaunaysmastandardjax_gpu_dense_nuffthpc_a1001.18548—secondary›
datacubedelaunaysmastandardjax_gpu_sparse_wtildehpc_a1001.15442—secondary›
datacubedelaunaysmastandardnumba_cpu_sparse_wtildehpc_ral_cpu8.444131.40735optimal›
groupdelaunayeuclidstandardjax_cpu_sparsehpc_a1003.83232—experimental›
groupdelaunayeuclidstandardjax_cpu_sparsehpc_ral_cpu6.05431—secondary›
groupdelaunayeuclidstandardjax_gpu_densehpc_a1000.03656—optimal›
groupdelaunayeuclidstandardjax_gpu_sparsehpc_a1000.05559—secondary›
groupdelaunayeuclidstandardnumba_cpu_sparsehpc_ral_cpu0.803730.13395optimal›
groupmgeeuclidstandardjax_cpu_densehpc_ral_cpu0.03737—optimal›
groupmgeeuclidstandardjax_gpu_densehpc_a1000.00083—optimal›
grouprectangulareuclidstandardjax_cpu_sparsehpc_a1003.23359—experimental›
grouprectangulareuclidstandardjax_cpu_sparsehpc_ral_cpu5.92017—secondary›
grouprectangulareuclidstandardjax_gpu_densehpc_a1000.02983—optimal›
grouprectangulareuclidstandardjax_gpu_sparsehpc_a1000.05066—secondary›
grouprectangulareuclidstandardnumba_cpu_sparsehpc_ral_cpu0.899580.14993optimal›
imagingdelaunayaostandardjax_cpu_sparsehpc_a10056.56584—experimental›
imagingdelaunayaostandardjax_cpu_sparsehpc_ral_cpu81.31091—secondary›
imagingdelaunayaostandardjax_gpu_densehpc_a1000.34787—optimal›
imagingdelaunayaostandardjax_gpu_sparsehpc_a1000.82149—secondary›
imagingdelaunayaostandardnumba_cpu_sparsehpc_ral_cpu8.671301.44522optimal›
imagingdelaunayeuclidstandardjax_cpu_sparsehpc_a1001.14835—experimental›
imagingdelaunayeuclidstandardjax_cpu_sparsehpc_ral_cpu1.24691—secondary›
imagingdelaunayeuclidstandardjax_gpu_densehpc_a1000.01450—optimal›
imagingdelaunayeuclidstandardjax_gpu_sparsehpc_a1000.01796—secondary›
imagingdelaunayeuclidstandardnumba_cpu_sparsehpc_ral_cpu0.819970.13666optimal›
imagingdelaunayhststandardjax_cpu_sparsehpc_a1002.47782—experimental›
imagingdelaunayhststandardjax_cpu_sparsehpc_ral_cpu2.99106—secondary›
imagingdelaunayhststandardjax_gpu_densehpc_a1000.03419—optimal›
imagingdelaunayhststandardjax_gpu_sparsehpc_a1000.04716—secondary›
imagingdelaunayhststandardnumba_cpu_sparsehpc_ral_cpu0.951680.15861optimal›
imagingdelaunayjwststandardjax_cpu_sparsehpc_a1005.08536—experimental›
imagingdelaunayjwststandardjax_cpu_sparsehpc_ral_cpu6.56182—secondary›
imagingdelaunayjwststandardjax_gpu_densehpc_a1000.06970—optimal›
imagingdelaunayjwststandardjax_gpu_sparsehpc_a1000.10760—secondary›
imagingdelaunayjwststandardnumba_cpu_sparsehpc_ral_cpu1.744600.29077optimal›
imagingdelaunay_nnhststandardjax_cpu_sparsehpc_a1005.87672—experimental›
imagingdelaunay_nnhststandardjax_cpu_sparsehpc_ral_cpu7.24895—secondary›
imagingdelaunay_nnhststandardjax_gpu_densehpc_a1000.04174—optimal›
imagingdelaunay_nnhststandardjax_gpu_sparsehpc_a1001.14899—secondary›
imagingdelaunay_nnhststandardnumba_cpu_sparsehpc_ral_cpu1.294800.21580optimal›
imagingmgeaostandardjax_cpu_densehpc_ral_cpu0.51180—optimal›
imagingmgeaostandardjax_gpu_densehpc_a1000.01878—optimal›
imagingmgeeuclidstandardjax_cpu_densehpc_ral_cpu0.00707—optimal›
imagingmgeeuclidstandardjax_gpu_densehpc_a1000.00020—optimal›
imagingmgehststandardjax_cpu_densehpc_ral_cpu0.01629—optimal›
imagingmgehststandardjax_gpu_densehpc_a1000.00039—optimal›
imagingmgejwststandardjax_cpu_densehpc_ral_cpu0.05055—optimal›
imagingmgejwststandardjax_gpu_densehpc_a1000.00092—optimal›
imagingrectangularaostandardjax_cpu_sparsehpc_a10050.70251—experimental›
imagingrectangularaostandardjax_cpu_sparsehpc_ral_cpu76.81754—secondary›
imagingrectangularaostandardjax_gpu_densehpc_a1000.31711—optimal›
imagingrectangularaostandardjax_gpu_sparsehpc_a1000.93699—secondary›
imagingrectangularaostandardnumba_cpu_sparsehpc_ral_cpu9.982181.66370optimal›
imagingrectangulareuclidstandardjax_cpu_sparsehpc_a1000.82523—experimental›
imagingrectangulareuclidstandardjax_cpu_sparsehpc_ral_cpu0.91061—secondary›
imagingrectangulareuclidstandardjax_gpu_densehpc_a1000.00768—optimal›
imagingrectangulareuclidstandardjax_gpu_sparsehpc_a1000.01293—secondary›
imagingrectangulareuclidstandardnumba_cpu_sparsehpc_ral_cpu0.282500.04708optimal›
imagingrectangularhstsource_pixels_784jax_cpu_sparsehpc_a1001.15558—experimental›
imagingrectangularhststandardjax_cpu_sparsehpc_a1001.93196—experimental›
imagingrectangularhststandardjax_cpu_sparsehpc_ral_cpu2.96301—secondary›
imagingrectangularhstsource_pixels_784jax_gpu_densehpc_a1000.01328—secondary›
imagingrectangularhststandardjax_gpu_densehpc_a1000.02468—optimal›
imagingrectangularhstsource_pixels_784jax_gpu_sparsehpc_a1000.02924—secondary›
imagingrectangularhststandardjax_gpu_sparsehpc_a1000.04052—secondary›
imagingrectangularhstsource_pixels_784numba_cpu_sparsehpc_ral_cpu0.566510.09442secondary›
imagingrectangularhststandardnumba_cpu_sparsehpc_ral_cpu0.696740.11612optimal›
imagingrectangularjwststandardjax_cpu_sparsehpc_a1004.19764—experimental›
imagingrectangularjwststandardjax_cpu_sparsehpc_ral_cpu5.75356—secondary›
imagingrectangularjwststandardjax_gpu_densehpc_a1000.06071—optimal›
imagingrectangularjwststandardjax_gpu_sparsehpc_a1000.10733—secondary›
imagingrectangularjwststandardnumba_cpu_sparsehpc_ral_cpu1.688070.28135optimal›
interferometerdelaunayalmastandardjax_cpu_sparse_wtildehpc_ral_cpu2.12071—secondary›
interferometerdelaunayalmastandardjax_gpu_sparse_wtildehpc_a1000.02083—optimal›
interferometerdelaunayalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.764950.12749optimal›
interferometerdelaunayalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu7.60144—secondary›
interferometerdelaunayalma_highstandardjax_gpu_sparse_wtildehpc_a1000.06371—optimal›
interferometerdelaunayalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu9.328691.55478optimal›
interferometerdelaunayjvlastandardjax_cpu_sparse_wtildehpc_ral_cpu51.43514—secondary›
interferometerdelaunayjvlastandardjax_gpu_sparse_wtildehpc_a1000.46518—optimal›
interferometerdelaunayjvlastandardnumba_cpu_sparse_wtildehpc_ral_cpu63.7991510.63319optimal›
interferometerdelaunaysmastandardjax_cpu_dense_nuffthpc_ral_cpu5.82222—experimental›
interferometerdelaunaysmastandardjax_cpu_sparse_wtildehpc_ral_cpu0.78458—secondary›
interferometerdelaunaysmastandardjax_gpu_dense_nuffthpc_a1000.05735—secondary›
interferometerdelaunaysmastandardjax_gpu_sparse_wtildehpc_a1000.01136—optimal›
interferometerdelaunaysmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.279340.04656optimal›
interferometermgesmastandardjax_cpu_dense_nuffthpc_ral_cpu0.08329—optimal›
interferometermgesmastandardjax_gpu_dense_nuffthpc_a1000.00060—optimal›
interferometerrectangularalmastandardjax_cpu_sparse_wtildehpc_ral_cpu1.92896—secondary›
interferometerrectangularalmastandardjax_gpu_sparse_wtildehpc_a1000.04897—optimal›
interferometerrectangularalmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.888770.14813optimal›
interferometerrectangularalma_highstandardjax_cpu_sparse_wtildehpc_ral_cpu7.42959—secondary›
interferometerrectangularalma_highstandardjax_gpu_sparse_wtildehpc_a1000.08106—optimal›
interferometerrectangularalma_highstandardnumba_cpu_sparse_wtildehpc_ral_cpu8.919041.48651optimal›
interferometerrectangularjvlastandardjax_cpu_sparse_wtildehpc_ral_cpu48.48120—secondary›
interferometerrectangularjvlastandardjax_gpu_sparse_wtildehpc_a1000.45628—optimal›
interferometerrectangularjvlastandardnumba_cpu_sparse_wtildehpc_ral_cpu61.4360510.23934optimal›
interferometerrectangularsmastandardjax_cpu_dense_nuffthpc_ral_cpu5.38033—experimental›
interferometerrectangularsmastandardjax_cpu_sparse_wtildehpc_ral_cpu0.64392—secondary›
interferometerrectangularsmastandardjax_gpu_dense_nuffthpc_a1000.05198—secondary›
interferometerrectangularsmastandardjax_gpu_sparse_wtildehpc_a1000.00675—optimal›
interferometerrectangularsmastandardnumba_cpu_sparse_wtildehpc_ral_cpu0.230860.03848optimal›
multi_datasetdelaunayhststandardjax_cpu_sparsehpc_a1004.87350—experimental›
multi_datasetdelaunayhststandardjax_cpu_sparsehpc_ral_cpu6.21428—secondary›
multi_datasetdelaunayhststandardjax_gpu_densehpc_a1000.17631—optimal›
multi_datasetdelaunayhststandardjax_gpu_sparsehpc_a1000.20415—secondary›
multi_datasetdelaunayhststandardnumba_cpu_sparsehpc_ral_cpu2.852390.47540optimal›
multi_galaxydelaunayhststandardjax_cpu_sparsehpc_a1002.96473—experimental›
multi_galaxydelaunayhststandardjax_cpu_sparsehpc_ral_cpu3.72110—secondary›
multi_galaxydelaunayhststandardjax_gpu_densehpc_a1000.03050—optimal›
multi_galaxydelaunayhststandardjax_gpu_sparsehpc_a1000.04525—secondary›
multi_galaxydelaunayhststandardnumba_cpu_sparsehpc_ral_cpu0.850330.14172optimal›
multi_galaxymgehststandardjax_cpu_densehpc_ral_cpu0.02658—optimal›
multi_galaxymgehststandardjax_gpu_densehpc_a1000.00058—optimal›
multi_galaxyrectangularhststandardjax_cpu_sparsehpc_a1002.49780—experimental›
multi_galaxyrectangularhststandardjax_cpu_sparsehpc_ral_cpu3.85938—secondary›
multi_galaxyrectangularhststandardjax_gpu_densehpc_a1000.02184—optimal›
multi_galaxyrectangularhststandardjax_gpu_sparsehpc_a1000.03811—secondary›
multi_galaxyrectangularhststandardnumba_cpu_sparsehpc_ral_cpu1.098570.18309optimal›
point_source_imageimage_planesimplestandardjax_cpuhpc_ral_cpu0.00095—optimal›
point_source_imageimage_planesimplestandardjax_gpuhpc_a1000.00040—optimal›
point_source_sourcesource_planesimplestandardjax_cpuhpc_a1000.00010—experimental›
point_source_sourcesource_planesimplestandardjax_cpuhpc_ral_cpu0.00006—optimal›
point_source_sourcesource_planesimplestandardjax_gpuhpc_a1000.00012—optimal›
weakisothermalsimplestandardjax_cpu_densehpc_a1000.00006—experimental›
weakisothermalsimplestandardjax_cpu_densehpc_ral_cpu0.00004—optimal›
weakisothermalsimplestandardjax_gpu_densehpc_a1000.00001—optimal›
Coverage: 0 optimal cells not measured

Every planned optimal cell has a current record.

Extra Information

Comparing CPU-parallel and GPU-batched setups

Gradient witness: where the evaluation point sits matters

XLA:CPU deadlock on repeated calls (jaxlib 0.11.2)

Inference Timings

PyAutoFit

PyAutoFit inference benchmarking is collected on the PyAutoInsight board.

PyAutoLens
19 results

All rows: nautilus sampler

Dataset type Model Instrument Setup Hardware class Lens light Profiling runtime(s)Seed Cores(cores)Wall(s)Likelihood evals(evals)Implied time(s / eval)Details
imagingdelaunayhstnumba_cpu_sparsehpc_ral_cpudefault0.95168188648.2386600.22370›
imagingdelaunayhstnumba_cpu_sparsehpc_ral_cpulight_fixed—184563.6340600.13399›
imagingrectangularhstjax_cpu_densehpc_a100default—0832440.9304001.06713›
imagingrectangularhstjax_cpu_densehpc_a100default—1824129.2220201.09579›
imagingrectangularhstjax_cpu_densehpc_a100light_fixed—0821739.0237800.91417›
imagingrectangularhstjax_cpu_densehpc_a100light_fixed—1820092.1209400.95951›
imagingrectangularhstjax_cpu_sparsehpc_a100default1.155580836050.5217201.65978›
imagingrectangularhstjax_gpu_densehpc_a100default0.0132804558.6236800.02359›
imagingrectangularhstjax_gpu_densehpc_a100default0.0132814525.0216400.02426›
imagingrectangularhstjax_gpu_densehpc_a100light_fixed—04490.5228200.02149›
imagingrectangularhstjax_gpu_densehpc_a100light_fixed—14449.7207800.02164›
imagingrectangularhstjax_gpu_sparsehpc_a100default0.0292404826.9230600.03586›
imagingrectangularhstjax_gpu_sparsehpc_a100default0.0292414811.5229800.03531›
imagingrectangularhstjax_gpu_sparsehpc_a100light_fixed—041624.9487000.03336›
imagingrectangularhstjax_gpu_sparsehpc_a100light_fixed—141396.9418800.03336›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpudefault0.56651082605.2229200.11366›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpudefault0.56651182562.1222400.11520›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpulight_fixed—082329.4243400.09570›
imagingrectangularhstnumba_cpu_sparsehpc_ral_cpulight_fixed—182076.2219600.09455›

Decision History

Designation: weak/isothermal standard gpu_a100Designation: weak/isothermal standard cpu_many_coreDesignation: point_source_source/source_plane standard gpu_a100Designation: point_source_source/source_plane standard cpu_many_coreDesignation: point_source_image/image_plane standard gpu_a100Designation: point_source_image/image_plane standard cpu_many_coreDesignation: multi_galaxy/rectangular standard gpu_a100Designation: multi_galaxy/rectangular standard cpu_many_coreDesignation: multi_galaxy/mge standard gpu_a100Designation: multi_galaxy/mge standard cpu_many_coreDesignation: multi_galaxy/delaunay standard gpu_a100Designation: multi_galaxy/delaunay standard cpu_many_coreDesignation: multi_dataset/delaunay standard gpu_a100Designation: multi_dataset/delaunay standard cpu_many_coreDesignation: interferometer/rectangular standard gpu_a100Designation: interferometer/rectangular standard cpu_many_coreDesignation: interferometer/mge standard gpu_a100Designation: interferometer/mge standard cpu_many_coreDesignation: interferometer/delaunay standard gpu_a100Designation: interferometer/delaunay standard cpu_many_coreDesignation: imaging/rectangular standard gpu_a100Designation: imaging/rectangular standard cpu_many_coreDesignation: imaging/mge standard gpu_a100Designation: imaging/mge standard cpu_many_coreDesignation: imaging/delaunay standard gpu_a100Designation: imaging/delaunay standard cpu_many_coreDesignation: imaging/delaunay_nn standard gpu_a100Designation: imaging/delaunay_nn standard cpu_many_coreDesignation: group/rectangular standard gpu_a100Designation: group/rectangular standard cpu_many_coreDesignation: group/mge standard gpu_a100Designation: group/mge standard cpu_many_coreDesignation: group/delaunay standard gpu_a100Designation: group/delaunay standard cpu_many_coreDesignation: datacube/delaunay standard cpu_many_coreDesignation: cluster/source_plane standard gpu_a100Designation: cluster/source_plane standard cpu_many_coreDesignation: cluster/image_plane standard gpu_a100Designation: cluster/image_plane standard cpu_many_coreKeep --xla_cpu_multi_thread_eigen=false for the 2d JAX CPU legs (jaxlib 0.11.2 deadlock)Keep the 1.0″ PointSolver starting grid for cluster fits, with a validation checkGate the symmetric direct_conv kernel at work fraction 0.7, with ymin column orderingRoute interferometer curvature by a calibrated two-constant cost modelExclude zero-weight mappings from AdaptSplit pixel signals on Delaunay meshes onlyKeep Jacobi PDIP as the Mapper default and raw+polish as the MGE-only default