Skip to content

research: RAL route-gate constants and A100 FFT size levers (interferometer) #429

Closed

Description

@Jammy2211

Overview

The Aris L2 witness (PyAutoArray#636, autolens_profiling#425) found the laptop-calibrated route constants (c_fft 7.62e-10, c_dc 1.77e-09, PyAutoArray#632) off on RAL: FFT / full direct_conv measured 0.68 at the real-Aris 1,459-vertex cell against 0.89 predicted. This task measures both curvature arms on a RAL CPU node to fit per-host constants, and runs the A100 FFT size-lever witness from PyAutoPulse task interferometer_w_tilde_fft_size_levers (pruned padded FFT; real-space pixel scale at jvla).

Campaign: PyAutoLabs/PyAutoPulse#62 (tasks interferometer_large_mask_aris and interferometer_w_tilde_fft_size_levers). Human authorised RAL A100 + CPU compute for this phase on 2026-10-17.

Plan

A. Cost-model constants on RAL (CPU)

  • Time the FFT route, the full direct_conv kernel and the symmetric kernel (curvature step only, compile excluded) on real Aris data, 512×512 mask (steps 12/8/6/4) and 125×125 mask (steps 3/2/1), ral partition, --exclusive, serial numba, on a private 2026.10.17.1 checkout plus the PyAutoArray#636 patch.
  • Fit per-host c_fft, c_dc (κ kept unless contradicted); table predicted vs measured for every cell, in-sample vs out-of-sample marked.
  • Recommend: keep laptop constants, replace with RAL constants, or expose them as a settings/config override with documented per-host values. A library change (a stacked PyAutoArray PR on #636) only if the data clearly supports one option inside the existing cost-model design.

B. A100 FFT size levers (measurement only)

  • Harness-only pruned padded FFT apply (separable rfft-x on y rows, fft-y, Khat, ifft-y keep y rows, irfft-x keep x) vs library F at alma / alma_high / jvla: per-call time, compile separate, max rel diff, figure-of-merit shift.
  • Real-space pixel scale row at jvla (0.01 / 0.015 / 0.02 / 0.025″, mask radius 3.5″): F time, full call, log-evidence shift vs 0.01″.
  • fp64; host, GPU, driver, JAX versions, dataset and SHAs recorded. Witness JSON results/breakdown/interferometer/jvla/delaunay_hpc_a100_fp64_fft_prune.json.

Record: results note, campaign journal entry, catalogue regenerated.

Detailed plan
  • New scripts (autolens_profiling): scripts/interferometer/delaunay/route_constants_ral.py (A, real-Aris arms; data path argument, Aris helpers imported from a temporary copy as in the L2 scripts) and scripts/interferometer/delaunay/fft_size_levers.py (B, reusing scripts/misc/likelihood_breakdown/interferometer_pixelized.py helpers: load_dataset, build_delaunay_mesh, build_model, timing.jit_profile).
  • Submit scripts under hpc/batch_cpu/ and hpc/batch_gpu/.
  • Results: results/breakdown/interferometer/aris/route_constants_ral_cpu_fp64.json, the jvla witness JSON above, and a note results/notes/interferometer_route_constants_and_fft_levers_2026_10.md.
  • Avoids scripts/misc/jax_compile/* (docs: design independent HST MGE pilot qualification #418) and the docs: symmetric direct_conv kernel decision rule and Aris witness (PyAutoArray#635) #425 note.
  • Fit: least squares on log seconds, per arm, log t = log c + log W; report the ratio c_fft/c_dc (only the ratio routes), compare against laptop 0.430.
  • Verdict per Pulse task §3: pruned ≥ 10% of F at jvla with ≤ 1e-12 match → file a PyAutoArray follow-up prompt (not implemented here); pixel scale holds 0.5 nats → file a workspace docs prompt.

Tier: judge — merge mode: human /prm

Activity

  1. Jammy2211 commented on Oct 17, 2026

    @Jammy2211
    ContributorAuthor

    Scope change 2026-10-17 (the human, via the architect session): the interferometer CPU lane is closed, so part A (RAL route-gate constants) is dropped and no CPU jobs were submitted. The evidence already in hand is recorded as an open note in the campaign journal: FFT / full direct_conv measured 0.68 on RAL against 0.89 predicted, and the 1,459-vertex cell runs ~1.02x over FFT. The note says the constants refit is deferred. Part B (A100 FFT size levers) ran as RAL job 412515. Results are in PR #433.

  2. Jammy2211 commented on Oct 17, 2026

    @Jammy2211
    ContributorAuthor

    Shipped

    PR #433 merged 2026-10-17. A100 W~ FFT size-levers witness (RAL job 412515, euclid-ral-gpu-1, exclusive, fp64, private 2026.10.17.1 stack): pruned padded FFT saves 19.4/22.1/29.7 % of F at alma/alma_high/jvla (whole-likelihood 1.08/1.18/1.41×), F rel diff ≤1.7e-15, FoM unchanged; coarser jvla pixel scales fail the 0.5-nat bar (+1,310 to +2,757 nats). Part A (CPU route constants) dropped: human decision 2026-10-17 closed the interferometer CPU lane; evidence in hand recorded as a deferred note. Human decision 2026-10-17: GPU levers filed as wiki research, no source changes (the JAX FFT pruning prompt is not filed).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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