Dense Linear System: A Parallel Self-verified Solver

This article presents a parallel self-verified solver for dense linear systems of equations. This kind of solver is commonly used in many different kinds of real applications which deal with large matrices. Nevertheless, two key problems appear to limit the use of linear system solvers to a more extensive range of real applications: solution correctness and high computational cost. In order to solve the first one, verified computing would be an interesting choice. An algorithm that uses this concept is able to find a highly accurate and automatically verified result providing more reliability. However, the performance of these algorithms quickly becomes a drawback. Aiming at a better performance, parallel computing techniques were employed. Two main parts of this method were parallelized: the computation of the approximate inverse of matrix A and the preconditioning step. The results obtained show that these optimizations increase significantly the overall performance.

[1]  Siegfried M. Rump,et al.  Solving Algebraic Problems with High Accuracy , 1983, IMACS World Congress.

[2]  Axel Facius Iterative solution of linear systems with improved arithmetic and result verification [online] , 2000 .

[3]  Willard L. Miranker,et al.  A new approach to scientific computation , 1983 .

[4]  Willard L. Miranker,et al.  Accurate Scientific Computations , 1986, Lecture Notes in Computer Science.

[5]  G. Corliss,et al.  C-Xsc: A C++ Class Library for Extended Scientific Computing , 1993 .

[6]  Ulrich W. Kulisch,et al.  C++ Toolbox for Verified Scientific Computing I: Basic Numerical Problems , 1997 .

[7]  Andreas Wiethoff Verifizierte globale Optimierung auf Parallelrechnern , 1997 .

[8]  Yousef Saad,et al.  Iterative solution of general sparse linear systems on clusters of workstations , 1996 .

[9]  N. K. Tsao The accuracy of a parallel LU decomposition algorithm , 1990 .

[10]  David W. Cheung,et al.  Efficient parallel algorithm for dense matrix LU decomposition with pivoting on hypercubes , 1997 .

[11]  Dogan Kaya,et al.  Parallel algorithms for LU decomposition on a shared memory multiprocessor , 2005, Appl. Math. Comput..

[12]  Luiz Gustavo Fernandes,et al.  Optimizing a Parallel Self-verified Method for Solving Linear Systems , 2006, PARA.

[13]  Walter Krämer,et al.  An Accurate an Efficient Selfverifying Solver for Systems with Banded Coefficient Matrix , 2003, PARCO.

[14]  Henk A. van der Vorst,et al.  Developments and trends in the parallel solution of linear systems , 1999, Parallel Comput..

[15]  Tim Kersten Verifizierende rechnerinvariante Numerikmodule , 1998 .

[16]  Willard L. Miranker,et al.  Computer arithmetic in theory and practice , 1981, Computer science and applied mathematics.

[17]  J. Dongarra,et al.  Exploiting the Performance of 32 bit Floating Point Arithmetic in Obtaining 64 bit Accuracy (Revisiting Iterative Refinement for Linear Systems) , 2006, ACM/IEEE SC 2006 Conference (SC'06).

[18]  S. Stark,et al.  LU decomposition optimized for a parallel computer with a hierarchical distributed memory , 1992, Parallel Comput..

[19]  Kenneth Wright Parallel algorithms for QR decomposition on a shared memory multiprocessor , 1991, Parallel Comput..

[20]  Siegfried M. Rump,et al.  Accurate Sum and Dot Product , 2005, SIAM J. Sci. Comput..

[21]  Tiarajú Asmuz Diverio,et al.  Selfverifying Solvers for Linear Systems of Equations in C-XSC , 2003, PPAM.

[22]  Markus Grimmer,et al.  An MPI Extension for the Use of C-XSC in Parallel Environments , 2005 .

[23]  G. Bohlender What Do We Need Beyond IEEE Arithmetic? , 1990, Computer Arithmetic and Self-Validating Numerical Methods.

[24]  Paulo Fernandes,et al.  Parallel Selfverified Method for Solving Linear Systems , 2006 .

[25]  Tomás F. Pena,et al.  Solving sparse triangular systems on distributed memory multicomputers , 1998, Proceedings of the Sixth Euromicro Workshop on Parallel and Distributed Processing - PDP '98 -.