Speaker
Description
The solver module of the Astrometric Verification Unit-Global Sphere Reconstruction (AVU-GSR) pipeline aims to find the astrometric parameters of ~10^8 stars in the Milky Way, the attitude and instrumental settings of the Gaia satellite and the parametrized post Newtonian parameter gamma with a 10-100 micro-arcseconds resolution. To perform this task, the code solves a system of linear equations with the iterative LSQR algorithm, where the coefficient matrix is large (10-50 TB) and sparse and the iterations stop when convergence is achieved in the least square sense. The two matrix-by-vector operations at each LSQR iteration were GPU-ported with CUDA with a 14x speedup over an original code version entirely parallelized on the CPU with MPI + OpenMP. The CUDA code was additionally optimized obtaining a further 2x speedup. A special attention is given to a code section, which consists in the computation of covariances, whose total number is Nunk x (Nunk - 1)/2 and occupy ~1 EB, being Nunk ~ 5 x 10^8 the total number of unknowns. This “Big Data” issue cannot be faced with standard methods: we defined an I/O-based pipeline made of two concurrently launched jobs, where one job, i.e. the LSQR, writes some files and the second job reads them, iteratively computes the covariances and deletes them to avoid storage issues. The covariances calculation does not substantially slowdown the code until a number of covariances elements equal to ~8 x 10^6. The code currently runs in production on Leonardo CINECA infrastructure.