# High Performance Computing in Satellite SAR Interferometry: A Critical Perspective
## 5 Selected HPC Approaches in InSAR Fundamental Functional Stages
### Phase Unwrapping  
Phase-unwrapping is another crucial processing stage, which exhibits complicated data dependency and critical computational relevance. It may generally be the most time-consuming stage in the whole SAR interferometry processing chain (see Section 2.5).  
A dual-level parallel formulation of the computational-intensive multichannel phase unwrapping (MC-PhU) problem is presented in [196], in which the parallelism is hierarchically implemented at two different levels. Moreover, a dual-level parallel approach, which involves the use of both a message passing (MP) based strategy for multiprocessing (distributed memory model) and OpenMP for multithreading implementation (shared memory model), has been developed using the FORTRAN language. Performance evaluation relevant to the implemented prototype was also conducted for quantifying the benefit of parallelism at different levels in terms of speed-up and scalability [197]. As a result, the prototype's ability to achieve high performance in exploiting the available degrees of parallelism of the present-day HPC platforms (including both shared-memory and distributed memory architectures) enables the large-scale solution for the MCh-PhU problem in a timely fashion.  
In [198], a hybrid multiprocessing and multithreading algorithm was also proposed to overcome the problem of unwrapping large data sets. This parallel scheme implements and improves [PERSON]'s branch-cut algorithm using simulated annealing. The multi-processing parallel code is written in C and uses MPI. Similarly, combined with the distributed memory model, a mixed memory model is employed. A significant speedup can be achieved with this hybrid multiprocessing (on the distributed memory model) and multithreading (on the shared memory model) parallel execution.  
In [199], a parallel version for two-dimension phase unwrapping in a shared-memory parallel computation environment was proposed using the OpenMP parallel programming model. The tests performed on a real interferogram show that the proposed method effectively reduces the computation time.  
Computational approaches employing GPU architectures for the phase unwrapping problem have been developed, too. An implementation of [PERSON]'s algorithm on GPU was proposed in [200]. However, due to the complicated data dependency inherent to the problem, devising an efficient strategy for GPU architecture exploitation is not a simple task. Accordingly, an articulated design strategy is proposed in [200]. Moreover, the speedup and scalability of the proposed solution are investigated, and the running times are compared with the corresponding ones of a CPU-based implementation [200]. The tests conducted on NVIDIA C2050 and K20 GPUs demonstrate an achieved speedup of up to 781 and 896 over the CPU implementation, respectively.  
In [201], an improved version of the region-growing algorithm for the interferometric phase unwrapping of radar images is presented. Relevant implementation relying on the NVIDIA CUDA technology has been tested using four hardware configurations and 20 different pairs of COSMO-SkyMed images; the reported results show a significant performance boost.  
As a final remark, the analysis of the existing HPC approaches discussed in this section is summarized in Table 2, emphasizing the different implementations for each considered processing stage.