Skip to content

Feature/jax w tilde preload#380

Merged
Jammy2211 merged 1 commit intomainfrom
feature/jax_w_tilde_preload
Jan 17, 2026
Merged

Feature/jax w tilde preload#380
Jammy2211 merged 1 commit intomainfrom
feature/jax_w_tilde_preload

Conversation

@Jammy2211
Copy link
Owner

The fast interferometry JAX GPU implementation (Jammy2211/PyAutoArray#201) uses a preload of the NUFFT in order to compute the curvature_matrix.

This curvature_preload matrix is computed once, before lens modeling, and reused throughout lens modeling. For high number of visibilities and resolution real space mask, this calculation can take minutes or hours on a CPU.

The previous PR did not convert this calculation to JAX or run on GPU.

This pull request makes the W-Tilde curvature preload computation support JAX and GPU, with profiling suggeting at least x100 speed up for high resolution datasets, with the calculation taking under a minute for the highest resolution / visibilities ALMA datasets tested.

It also includes utilities for safely saving and loading precomputed data, which check metadata to ensure the loaded data matches the data being analysed.

@Jammy2211 Jammy2211 changed the title al init import on curvature preload load method Feature/jax w tilde preload Jan 16, 2026
@Jammy2211 Jammy2211 requested a review from Copilot January 17, 2026 13:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR exposes a new utility function from the PyAutoArray dependency to enable JAX/GPU-accelerated W-Tilde curvature preload computation for interferometry data. The change enables significant performance improvements (100x+ speedup) for high-resolution ALMA datasets by allowing the expensive curvature matrix precomputation to run on GPU instead of CPU.

Changes:

  • Added import for load_curvature_preload_if_compatible function from autoarray's interferometer w_tilde module

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Jammy2211 Jammy2211 merged commit 98e52e7 into main Jan 17, 2026
6 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants