You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit ef90578
Browse filesBrowse the repository at this point in the historyBrowse files
perf(interferometer): cache curvature_matrix / data_vector on sparse and mapping inversions (#581)
On the NumPy path one figure_of_merit of InversionInterferometerSparse /
InversionInterferometerSparseNumba built F twice and D four times, because
data_vector, curvature_matrix and curvature_matrix_diag were plain
properties read by curvature_reg_matrix, reconstruction and
fast_chi_squared (43-50 % of an alma RAL CPU call, autolens_profiling
#326). They are now autonerves cached_property, as the imaging inversions'
already are; the numba curvature_matrix_diag override and the dense
InversionInterferometerMapping data_vector / curvature_matrix follow.
An inversion is built per fit, so no invalidation is needed; the
preloads.curvature_matrix short-circuit is unchanged.
Tests: evaluation-count tests (descriptor-preserving counters plus the
underlying operator / numba kernel) assert F == 1 and D == 1 per
likelihood for Sparse, SparseNumba (serial + parallel kernel) and Mapping;
red on the unfixed source (2 / 2 each).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments