Efficient Parallel Solvers for Large Dense Systems of Linear Interval Equations

Verified solvers for dense linear (interval-)systems require a lot of re- sources, both in terms of computing power and memory usage. Computing a verified solution of large dense linear systems (dimension n > 10000) on a single machine quickly approaches the limits of today's hardware. Therefore, an efficient parallel verified solver for distributed memory sys- tems is needed. In this work we present such a solver, implemented in C++ and using the C-XSC library for scientific computing (10, 8). The solver utilizes MPI (27) for communication between the nodes in the parallel environment and, where applicable, high performance ScaLAPACK (4) and BLAS (3) routines for fast computing times. High precision dot products (5, 18, 19, 21) are used to compute narrow enclosures of the solution of the system. We present test results on several high performance distributed mem- ory systems with different architectures, which show that our solver a- chieves good results, both in terms of numerical accuracy as well as com- puting time, and is highly portable. Furthermore, even very large systems (n ≥ 100000) can be solved given a cluster with sufficient resources.

[1]  Siegfried M. Rump,et al.  Kleine Fehlerschranken bei Matrixproblemen , 1980 .

[2]  W. Miranker,et al.  The arithmetic of the digital computer: A new approach , 1986 .

[3]  Jack Dongarra,et al.  ScaLAPACK Users' Guide , 1987 .

[4]  Christian P. Ullrich,et al.  Computer Arithmetic and Self-Validating Numerical Methods , 1990, Notes and reports in mathematics in science and engineering.

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

[6]  Ulrich W. Kulisch,et al.  Numerical Toolbox for Verified Computing I , 1993 .

[7]  S. Rump Validated solution of large linear systems , 1993 .

[8]  Ulrich Kulisch,et al.  Numerical Toolbox for Verified Computing I: Basic Numerical Problems Theory, Algorithms, and Pascal-Xsc Programs , 1994 .

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

[10]  Jack Dongarra,et al.  MPI: The Complete Reference , 1996 .

[11]  Siegfried M. Rump,et al.  INTLAB - INTerval LABoratory , 1998, SCAN.

[12]  J. Demmel,et al.  An updated set of basic linear algebra subprograms (BLAS) , 2002, TOMS.

[13]  C – XSC 2 . 0 – A C + + Class Library for Extended Scientific Computing , 2002 .

[14]  Walter Krämer,et al.  C-XSC 2.0: A C++ Library for Extended Scientific Computing , 2003, Numerical Software with Result Verification.

[15]  Rudolf Krawczyk,et al.  Newton-Algorithmen zur Bestimmung von Nullstellen mit Fehlerschranken , 1969, Computing.

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

[17]  Walter Krämer,et al.  Numerical Toolbox for Verified Computing II: Advanced Numerical Problems , 2006 .

[18]  Markus Grimmer,et al.  Selbstverifizierende mathematische Softwarewerkzeuge im High Performance Computing - Konzeption, Entwicklung und Analyse am Beispiel der parallelen verifizierten Lösung linearer Fredholmscher Integralgleichungen zweiter Art , 2007 .

[19]  Luiz Gustavo Fernandes,et al.  Dense Linear System: A Parallel Self-verified Solver , 2008, International Journal of Parallel Programming.

[20]  Siegfried M. Rump,et al.  A parallel algorithm for accurate dot product , 2008, Parallel Comput..

[21]  Michael Zimmer,et al.  A Note on Solving Problem 7 of the SIAM 100-Digit Challenge Using C-XSC , 2009, Numerical Validation in Current Hardware Architectures.

[22]  S. Rump,et al.  Iterative Refinement for Ill-conditioned Linear Equations. , 2008 .

[23]  Mariana Luderitz Kolberg,et al.  Improving the Performance of a Verified Linear System Solver Using Optimized Libraries and Parallel Computation , 2008, VECPAR.

[24]  Ulrich W. Kulisch,et al.  Computer Arithmetic and Validity - Theory, Implementation, and Applications , 2008, de Gruyter studies in mathematics.

[25]  Michael Zimmer,et al.  Fast (Parallel) Dense Linear System Solvers in C-XSC Using Error Free Transformations and BLAS , 2009, Numerical Validation in Current Hardware Architectures.

[26]  Mariana Luderitz Kolberg,et al.  Parallel self-verified solver for dense linear systems , 2009 .

[27]  G. Bohlender,et al.  Extension of the C-XSC Library with Scalar Products with Selectable Accuracy , 2010, Serdica Journal of Computing.