diff --git a/src/mintpy/gpu/__init__.py b/src/mintpy/gpu/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/mintpy/ifgram_inversion_gpu.py b/src/mintpy/gpu/ifgram_inversion.py similarity index 99% rename from src/mintpy/ifgram_inversion_gpu.py rename to src/mintpy/gpu/ifgram_inversion.py index 3da7cf80f..9342ce0d2 100644 --- a/src/mintpy/ifgram_inversion_gpu.py +++ b/src/mintpy/gpu/ifgram_inversion.py @@ -4,7 +4,7 @@ # GPU-accelerated network inversion # ############################################################ # Recommend import: -# from mintpy import ifgram_inversion_gpu as ifginv_gpu +# from mintpy.gpu import ifgram_inversion as gpu_ifginv """GPU-batched solver for the SBAS network inversion. diff --git a/src/mintpy/ifgram_inversion.py b/src/mintpy/ifgram_inversion.py index 52f66afea..7d66c5dd2 100644 --- a/src/mintpy/ifgram_inversion.py +++ b/src/mintpy/ifgram_inversion.py @@ -816,7 +816,7 @@ def run_ifgram_inversion_patch(ifgram_file, box=None, ref_phase=None, obs_ds_nam # for the full-rank case. Rank-deficient pixels (rare on real SBAS networks) # are not handled here; if encountered, NaN/Inf will propagate downstream. if solver != 'cpu': - from mintpy.ifgram_inversion_gpu import estimate_timeseries_batch + from mintpy.gpu.ifgram_inversion import estimate_timeseries_batch print(f'estimating time-series via {solver} solver (batched, GPU)') ts_sub, q_sub, n_sub = estimate_timeseries_batch( A=A, B=B, diff --git a/tests/test_ifgram_inversion_gpu.py b/tests/test_gpu_ifgram_inversion.py similarity index 97% rename from tests/test_ifgram_inversion_gpu.py rename to tests/test_gpu_ifgram_inversion.py index 9b8a45ff7..ec656f01a 100644 --- a/tests/test_ifgram_inversion_gpu.py +++ b/tests/test_gpu_ifgram_inversion.py @@ -1,4 +1,4 @@ -"""Numerical-equivalence tests for src/mintpy/ifgram_inversion_gpu.py. +"""Numerical-equivalence tests for src/mintpy/gpu/ifgram_inversion.py. Compare the GPU-batched solver against the per-pixel CPU reference (scipy.linalg.lstsq via mintpy.ifgram_inversion.estimate_timeseries) on @@ -11,12 +11,12 @@ torch = pytest.importorskip("torch") +from mintpy.gpu.ifgram_inversion import estimate_timeseries_batch from mintpy.ifgram_inversion import estimate_timeseries -from mintpy.ifgram_inversion_gpu import estimate_timeseries_batch requires_cuda = pytest.mark.skipif( not torch.cuda.is_available(), - reason="CUDA-capable GPU required for ifgram_inversion_gpu tests", + reason="CUDA-capable GPU required for mintpy.gpu.ifgram_inversion tests", )