Ordering schemes for sparse matrices using modern programming paradigms
The Conjugate Gradient (CG) algorithm is perhaps the best-known iterative technique to solve sparse linear systems that are symmetric and positive definite. In previous work, we investigated the effects of various ordering and partitioning strategies on the performance of CG using different programming paradigms and architectures. This paper makes several extensions to our prior research. First, we present a hybrid(MPI+OpenMP) implementation of the CG algorithm on the IBM SP and show that the hybrid paradigm increases programming complexity with little performance gains compared to a pure MPI implementation. For ill-conditioned linear systems, it is often necessary to use a preconditioning technique. We present MPI results for ILU(0) preconditioned CG (PCG) using the BlockSolve95 library, and show that the initial ordering of the input matrix dramatically affect PCG's performance. Finally, a multithreaded version of the PCG is developed on the Cray (Tera) MTA. Unlike the message-passing version, this implementation did not require the complexities of special orderings or graph dependency analysis. However, only limited scalability was achieved due to the lack of available thread level parallelism.
- Research Organization:
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Sponsoring Organization:
- USDOE Director, Office of Science. Office of Advanced Scientific Computing Research. Mathematical, Information, and Computational Sciences Division (US)
- DOE Contract Number:
- AC03-76SF00098
- OSTI ID:
- 787123
- Report Number(s):
- LBNL-47803; R&D Project: 618110; TRN: AH200134%%54
- Resource Relation:
- Conference: Applied Informatics 2001, Innsbruck (AT), 02/19/2001--02/22/2001; Other Information: PBD: 18 Nov 2000
- Country of Publication:
- United States
- Language:
- English
Similar Records
Ordering sparse matrices for cache-based systems
Parallel conjugate gradient: effects of ordering strategies, programming paradigms, and architectural platforms