dolphin icon indicating copy to clipboard operation
dolphin copied to clipboard

Speeding up the phase linking processing for large, single stacks

Open scottstanie opened this issue 11 months ago • 0 comments

For NISAR processing, we'll need to figure out how to get similar data parallelism for the phase linking loop as sentinel-1 bursts.

There's discussion, but not consensus on the best way to speed up Jax on CPUs (See also https://github.com/google/jax/issues/5506 and https://github.com/google/jax/issues/10180)

While we use jax.vmap on the eigenvalue computation, this is used to SIMD vectorize JAX code. It does not actually do CPU-parallelization. This is why the CPU usage during much of the wrapped phase code is rather low.

This isn't a problem for Sentinel-1 where we'll process multiple bursts at the same time with n_parallel_bursts; but we'll need to think about better parallelization strategies for large, single-stack processing like with NISAR/ALOS.

scottstanie avatar Mar 12 '24 23:03 scottstanie