Hybrid Solver for Quasi Block Diagonal Linear Systems

  • Viviana ArrigoniEmail author
  • Annalisa MassiniEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12043)


We present a solver for a class of sparse linear systems that we call quasi block diagonal. The solver combines multi-processors and multi-threaded parallelisms using MPI and OpenMP to implement preconditioned Jacobi. Specific formats for sparse matrices are exploited in order to reduce memory storage requirements. Our experiments show that communication costs are negligible, so as that speed-up and efficiency with respect to the sequential implementation are very high. Our hybrid implementation is tested on a cluster and compared to Intel MKL PARDISO linear solver.


Sparse matrices Linear systems Preconditioned Jacobi MPI OpenMP 



This work has been partially supported by MIUR grant Excellence Departments 2018–2022, assigned to the Computer Science Department of Sapienza University of Rome. The experimental part has been run on the Galileo cluster, located at Cineca, Bologna, Italy, thanks to Class C ISCRA Project n. HP10CCM8RG.


  1. 1.
    Amodio, P., et al.: Almost block diagonal linear systems: sequential and parallel solution techniques, and applications. Numerical Linear Algebra Appl. 7(5), 275–317 (2000).<275::AID-NLA198>3.0.CO;2-GCrossRefMathSciNetzbMATHGoogle Scholar
  2. 2.
    Bertsekas, D., Tsitsiklis, J.: Some aspects of parallel and distributed iterative algorithms - a survey. Automatica 27(1), 3–21 (1991). Scholar
  3. 3.
    Bolukbasi, E.S., Manguoglu, M.: A multithreaded recursive and nonrecursive parallel sparse direct solver. In: Bazilevs, Y., Takizawa, K. (eds.) Advances in Computational Fluid-Structure Interaction and Flow Simulation. MSSET, pp. 283–292. Springer, Cham (2016). Scholar
  4. 4.
    D’Alessandro, N.: Comparison of direct and iterative methods applied to almost block diagonal matrices. Master thesis, Sapienza University of Rome, Italy, Computer Science Department (2019)Google Scholar
  5. 5.
    Developer Reference for Intel® Math Kernel Library 2019 - C (2019). Accessed 30 Oct 2019
  6. 6.
    Eijkhout, V., van de Geijn, R.: The spike factorization as domain decomposition method; equivalent and variant approaches. In: Berry, M., et al. (eds.) High-Performance Scientific Computing, pp. 157–169. Springer, London (2012). Scholar
  7. 7.
    Elman, H., Silvester, D., Wathen, A.: Finite Elements and Fast Iterative Solvers: With Applications in Incompressible Fluid Dynamics. Oxford University Press, Oxford (2014). Scholar
  8. 8.
    Ferronato, M., Janna, C., Pini, G.: A generalized block FSAI preconditioner for nonsymmetric linear systems. J. Comput. Appl. Math. 256, 230–241 (2014). Scholar
  9. 9.
    Kalinkin, A., Arturov, K.: Asynchronous approach to memory management in sparse multifrontal methods on multiprocessors. Appl. Math. 4(12), 33 (2013). Scholar
  10. 10.
    Larson, M., Bengzon, F.: The Finite Element Method: Theory, Implementation, and Applications, vol. 10. Springer, Heidelberg (2013). Scholar
  11. 11.
    Manguoglu, M.: A domain-decomposing parallel sparse linear system solver. J. Comput. Appl. Math. 236(3), 319–325 (2011). Scholar
  12. 12.
    Manguoglu, M., Sameh, A.H., Schenk, O.: PSPIKE: a parallel hybrid sparse linear system solver. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 797–808. Springer, Heidelberg (2009). Scholar
  13. 13.
    Mendiratta, K., Polizzi, E.: A threaded SPIKE algorithm for solving general banded systems. Parallel Comput. 37(12), 733–741 (2011). Scholar
  14. 14.
    Polizzi, E., Sameh, A.: A parallel hybrid banded system solver: the SPIKE algorithm. Parallel Comput. 32(2), 177–194 (2006). Scholar
  15. 15.
    Polizzi, E., Sameh, A.: SPIKE: a parallel environment for solving banded linear systems. Comput. Fluids 36(1), 113–120 (2007). Scholar
  16. 16.
    Saad, Y.: Iterative Methods for Sparse Linear Systems, 2nd edn. Society for Industrial and Applied Mathematics, Philadelphia (2003). Scholar
  17. 17.
    Saad, Y., Van Der Vorst, H.: Iterative solution of linear systems in the 20th century. J. Comput. Appl. Math. 123(1–2), 1–33 (2000). Scholar
  18. 18.
    Shi, A., Shen, W., Li, Y., He, L., Zhao, D.: Implementation and analysis of Jacobi iteration based on hybrid programming. In: International Conference on Computer Design and Applications (2010).
  19. 19.
    Simoncini, V., Szyld, D.: Recent computational developments in Krylov subspace methods for linear systems. Numerical Linear Algebra Appl. 14(1), 1–59 (2007). Scholar
  20. 20.
    UG3.3: GALILEO UserGuide (2018). Accessed 30 Oct 2019
  21. 21.
    Yang, W., Li, K., Li, K.: A parallel solving method for block-tridiagonal equations on CPU-GPU heterogeneous computing systems. J. Supercomput. 73(5), 1760–1781 (2017). Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  1. 1.Department of Computer ScienceSapienza University of RomeRomeItaly

Personalised recommendations