# High Performance Computing in Satellite SAR Interferometry: A Critical Perspective
## 5 Selected HPC Approaches in InSAR Fundamental Functional Stages
### SAR Data Focusing  
Spaceborne SAR focusing operation is a complex computational problem due to its significant memory and computational requirements. In addition, it also has general importance because it constitutes a basic operation underpinning numerous SAR-based remote sensing applications (see Section 2.2). Hereinafter we focus on recently developed parallel solutions for efficient and fast formation of (Level 1) Single Look Complex (SLC) image from (Level 0) SAR raw data [28; 29]. SAR image formation applications can profit from the parallel capabilities of the wide available modern multi-core CPUs. In particular, a general-purpose parallel scheme for efficiently focusing SAR data on shared-memory architectures was proposed in [181]. Its implementation is based on OpenMP and FORTRAN language and was demonstrated with reference to data acquired by different sensors (ENVISAT/ASAR, RADARSAT-1, and COSMO-SkyMed). The benefit of the parallelism incorporated into the prototype solution was experimentally investigated by quantifying speedup and scalability [182]. Therefore, the developed multithreading-based prototype can rapidly process SAR data, thus efficiently exploiting the parallelism offered by currently available shared-memory architectures. Indicatively, such an approach permits to focus an ENVISAT ASAR Stripmap data in roughly 30 s on a 16-core machine. Another approach relies on GPU architectures. A SAR image focusing application exploiting GPGPU was described in [183; 184]. Its parallel implementation employs OpenCL rather than the more widespread CUDA language. The proposed approach targets explicitly a single node of an HPC cluster system, thus exploiting available GPUs and/or CPUs. Relevant performance was demonstrated on ENVISAT ASAR and Sentinel-1 data; however, limited scalability may be noticed [183]. According to such an approach, ENVISAT ASAR Stripmap imagery is obtained, indicatively, with an execution time of about 10 s, whereas Sentinel-1 IW raw data focusing shows an execution time of about 1 min. In [185], a GPU-parallel algorithm for raw SAR data focusing was developed using a CUDA environment. Experiments using ENVISAT ASAR level-0 data show that execution can be achieved in a few seconds. In [186], a parallel scheme oriented to combined GPU and CPU was proposed to accelerate a traditional SAR focusing algorithm. The GPU's proposed parallel scheme is implemented using CUDA, while OpenMP is used for multi-core processing. Two Intel Xeon E5 CPUs, four NVIDIA Tesla K10 GPUs are used in the experiments. The relevant experimental results demonstrated that the approach could benefit from about 270\(\times\) speedup over the traditional single-core CPU method, with an associate execution time of about 3 s.  
A further investigation is described in [187], in which implementation and optimization on GPU of a classical focusing algorithm using CUDA are presented. Although the obtained execution time was very much reduced, the experiments were carried out only for a reduced dataset. Thus, the specific performances achieved are difficult to extrapolate to the case of the typical SAR image size. Accelerating focusing algorithms in the time domain has also been investigated. In particular, a parallel implementation of a time-domain SAR focusing algorithm (back-projection) based on NVIDIA's CUDA GPU computing framework is proposed in [188]. The developed software is specifically targeted to focus COSMO-SkyMed data, and a SAR data focusing is achieved in roughly 20 s. Moreover, in [189] an approach for focusing SAR data in time-domain (back-projection) is implemented by exploiting the parallelism offered by multiple GPUs. The algorithm is implemented using CUDA suitably complemented by MPI for tile distribution and reconstruction. The experiment conducted on up to 512 GPU nodes equipped with an NVIDIA Tesla K20 architecture shows that the computation can be performed within a few seconds, even though the inherent scalability performance appear limited.