Abstract
In this paper we apply the parallel hybrid SPIKE algorithm as a preconditioner for a nonstationary iterative method to solve large sparse linear systems. In order to obtain a good preconditioner, we employ several strategies solving combinatorial problems such as matching, reordering, partitioning, and quadratic knapsack. Our SPIKE implementation combines MPI and OpenMP paradigms in a unique multi-core computer. The computational experiments show the influence of each strategy evaluating the number of iterations and CPU time of the iterative solver in a set of large systems from miscellaneous application areas. The experiments suggest that the SPIKE preconditioner is very advantageous when a suitable set of parameters is chosen. The choice of the number of MPI ranks and OpenMP threads is not an easy task, because the SPIKE algorithm can increase the number of iterations when the number of MPI ranks grows. Moreover, the increase in the number of threads does not ensure a better performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Barnard, S.T., Pothen, A., Simon, H.: A spectral algorithm for envelope reduction of sparse matrices. Numer. Linear Algebra Appl. 2(4), 317–334 (1995)
Benzi, M.: Preconditioning techniques for large linear systems: a survey. J. Comput. Phys. 182(2), 418–477 (2002)
Cuthill, E., McKee, J.: Reducing the bandwidth of sparse symmetric matrices. In: Proceedings of the 1969 24th National Conference, pp. 157–172. ACM, New York (1969). http://doi.acm.org/10.1145/800195.805928
Davis, T.A., Hu, Y.: The university of Florida sparse matrix collection. ACM Trans. Math. Softw. 38(1), 1:1–1:25 (2011). http://www.cise.ufl.edu/research/sparse/matrices
Diestel, R.: Graph Theory. Graduate Texts in Mathematics. Springer, Heidelberg (2006)
Duff, I.S., Koster, J.: On algorithms for permuting large entries to the diagonal of a sparse matrix. SIAM J. Matrix Anal. Appl. 22(4), 973–996 (2001)
Hestenes, M.R., Stiefel, E.: Methods of conjugate gradients for solving linear systems, vol. 49. NBS (1952)
Kouris, A., Sobczyk, A., Venetis, I., Gallopoulos, E., Sameh, A.: Revisiting the SPIKE-based framework for GPU banded solvers: a givens rotation approach for tridiagonal systems in CUDA (2014)
Li, A., Deshmukh, O., Serban, R., Negrut, D.: A comparison of the performance of SPIKE: GPU and intel’s math kernel library (MKL) for solving dense banded linear systems (2014)
Liu, W.H., Sherman, A.H.: Comparative analysis of the Cuthill-mckee and the reverse Cuthill-mckee ordering algorithms for sparse matrices. SIAM J. Numer. Anal. 13(2), 198–213 (1976)
Macintosh, H.J., Warne, D.J., Kelson, N.A., Banks, J.E., Farrell, T.W.: Implementation of parallel tridiagonal solvers for a heterogeneous computing environment. ANZIAM J. 56, 446–462 (2016)
Manguoglu, M., Koyutürk, M., Sameh, A.H., Grama, A.: Weighted matrix ordering and parallel banded preconditioners for iterative linear system solvers. SIAM J. Sci. Comput. 32(3), 1201–1216 (2010)
Manne, F., Sørevik, T.: Optimal partitioning of sequences. J. Algorithms 19(2), 235–249 (1995). doi:10.1006/jagm.1995.1035
Polizzi, E., Sameh, A.: SPIKE: a parallel environment for solving banded linear systems. Comput. Fluids 36(1), 113–120 (2007)
Polizzi, E., Sameh, A.H.: A parallel hybrid banded system solver: the SPIKE algorithm. Parallel Comput. 32(2), 177–194 (2006)
Saad, Y., Schultz, M.H.: GMRES: a generalized minimal residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 7(3), 856–869 (1986)
Saad, Y.: Iterative Methods for Sparse Linear Systems. Siam, Philadelphia (2003)
Sathe, M., Schenk, O., Uçar, B., Sameh, A.: A scalable hybrid linear solver based on combinatorial algorithms. In: Naumann, U., Schenk, O. (eds.) Combinatorial Scientific Computing, pp. 95–128. Taylor & Francis, Chapman-Hall/CRC Computational Science, Boca Raton (2012)
Schenk, O., Gärtner, K.: On fast factorization pivoting methods for sparse symmetric indefinite systems. Electron. Trans. Numerical Anal. 23(1), 158–179 (2006)
Situ, Y., Martha, C.S., Louis, M.E., Li, Z., Sameh, A.H., Blaisdell, G.A., Lyrintzis, A.S.: Petascale large eddy simulation of jet engine noise based on the truncated SPIKE algorithm. Parallel Comput. 40(9), 496–511 (2014)
Wathen, A.: Preconditioning. Acta Numerica 24, 329–376 (2015)
Acknowledgments
This work has been supported in part by CNPq, CAPES, and FAPES.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Available source codes
A Available source codes
All codes are developed in C language and compiled with Intel version 2015 Update 3 optimized with Library Math Kernel Library MKL version 11.2 Update 3 and MPI version 5.0 Update 3, available at https://github.com/leomunizlima/ SPIKE. The SPIKE preconditioner steps involving calculations using direct methods that are solved by pardiso500-INTEL1301-X86-64 library of PARDISO software. The matrix operations as reordering, scaling and matching are performed using the HSL Mathematical Software Library.
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
de Lima, L.M., Catabriga, L., Rangel, M.C., Boeres, M.C.S. (2017). A Trade-off Analysis of the Parallel Hybrid SPIKE Preconditioner in a Unique Multi-core Computer. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2017. ICCSA 2017. Lecture Notes in Computer Science(), vol 10405. Springer, Cham. https://doi.org/10.1007/978-3-319-62395-5_29
Download citation
DOI: https://doi.org/10.1007/978-3-319-62395-5_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-62394-8
Online ISBN: 978-3-319-62395-5
eBook Packages: Computer ScienceComputer Science (R0)