feat: explicit Bilinear/RTU rectangular-mesh support in the profiling cells - #155
Merged
Merged
Conversation
… cells
Downstream of PyAutoArray#462 (rectangular Bilinear/RTU mesh split, task
PyAutoArray#461; user-requested explicit both-mesh support):
- _profile_cli.py: new --rect-mesh {bilinear,rtu} sweep flag (default
bilinear, the workspace default and CPU-campaign target; rtu reproduces
the pre-split kernel-CDF behaviour) + rect_mesh_classes() resolver;
'_rtu' appended to result basenames so the families' JSONs stay disjoint.
- Six rectangular cells read the flag and embed "rect_mesh" in their result
JSON: imaging/likelihood_runtime/pixelization{,_numba}.py,
imaging/likelihood_breakdown/pixelization{,_numba}.py,
interferometer/likelihood_runtime/pixelization.py,
imaging/parallel_scaling/pixelization_numba.py (mesh_label also carries
the family).
- Sampler benchmark surfaces (misc/searches/_setup.py, imaging/searches
nautilus + multi_start_prodigy cells): pure rename to RectangularRTU* —
gradient-based searches need the kernel-CDF mesh and the recorded
benchmark numbers stay valid.
- Workspace-mirroring scripts (pipeline_resume, simulator comments) and
docs follow the Bilinear default; OPTIMIZATION_NOTES marks its recorded
numbers as pre-split kernel-CDF (RTU).
Validated: all changed scripts compile; parse_profile_cli/rect_mesh_classes
resolve both families and produce disjoint output paths.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
ruff check --fix (I001 import sorting in the four cells that gained the rect_mesh_classes import) and ruff format on the touched files; all lint legs (ruff check, ruff format --check, build_readme.py --check) pass locally. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
Jammy2211
pushed a commit
that referenced
this pull request
Aug 21, 2026
…anced, both explicit Flip the Phase 14 status row and section from awaiting-adjudication to adjudicated+shipped (PyAutoArray#461/#462, workspace PRs, PR #155) and append the decision-log entry. The versioned Bilinear-vs-RTU CPU measurement stays the recorded outstanding tail, tracked on #153. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WtMqU3JfmyJh8GvB7jT4Et
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Downstream of the PyAutoArray rectangular mesh split (PyAutoLabs/PyAutoArray#462, merged; task PyAutoLabs/PyAutoArray#461) and user-requested: the profiling cells support both rectangular mesh families explicitly. The old
RectangularAdaptDensity/AdaptImagenames no longer exist in autoarray, so main's cells were broken against the new API regardless — this PR both repairs and parameterizes them._profile_cli.pygains a--rect-mesh {bilinear,rtu}sweep flag (defaultbilinear— the new workspace default and CPU-campaign target;rtureproduces the pre-split kernel-CDF behaviour, so pre-split recorded results remain comparable) plus arect_mesh_classes()resolver._rtuis appended to result basenames so the two families' JSONs never clobber each other."rect_mesh"in their result JSON:imaging/likelihood_runtime/pixelization{,_numba}.py,imaging/likelihood_breakdown/pixelization{,_numba}.py,interferometer/likelihood_runtime/pixelization.py,imaging/parallel_scaling/pixelization_numba.py.misc/searches/_setup.py, the nautilus / multi_start_prodigy pixelization cells): pure rename toRectangularRTU*— gradient-based searches need the kernel-CDF mesh and the recorded benchmark numbers (truth bars) stay valid unchanged.pipeline_resume, simulator comments) and docs follow the Bilinear default;OPTIMIZATION_NOTES.mdmarks its recorded numbers as pre-split kernel-CDF (RTU).This also unblocks the Phase 14 versioned Bilinear measurement (see the adjudication comment on #153):
python scripts/imaging/likelihood_runtime/pixelization_numba.pymeasures the Bilinear default,--rect-mesh rtuthe kernel-CDF baseline, with disjoint result files.Merge-order note: the in-flight #152 (
feature/numba-cpu-likelihood-profiling) touches sibling numba cells; whichever merges second may need a trivial rename/flag reconciliation inpixelization_numba.py.Test Plan
parse_profile_cli/rect_mesh_classesresolve both families and produce disjoint output paths (..._rtu.json) — exercised against merged PyAutoArray main.Generated by Claude Code