Amesos Sparse Direct Solver Package Ken Stanley, Rob Hoekstra, Marzio Sala, Tim Davis, Mike Heroux Trilinos Users Group Albuquerque 3 Nov 2004.

Slides:



Advertisements
Similar presentations
Dense Linear Algebra (Data Distributions) Sathish Vadhiyar.
Advertisements

Parallel Jacobi Algorithm Steven Dong Applied Mathematics.
Fill Reduction Algorithm Using Diagonal Markowitz Scheme with Local Symmetrization Patrick Amestoy ENSEEIHT-IRIT, France Xiaoye S. Li Esmond Ng Lawrence.
Chapter 4 Systems of Linear Equations; Matrices Section 2 Systems of Linear Equations and Augmented Matrics.
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
MATH 685/ CSI 700/ OR 682 Lecture Notes
1 Parallel Algorithms II Topics: matrix and graph algorithms.
Systems of Linear Equations
CISE301_Topic3KFUPM1 SE301: Numerical Methods Topic 3: Solution of Systems of Linear Equations Lectures 12-17: KFUPM Read Chapter 9 of the textbook.
Refresher: Vector and Matrix Algebra Mike Kirkpatrick Department of Chemical Engineering FAMU-FSU College of Engineering.
1.2 Row Reduction and Echelon Forms
Linear Equations in Linear Algebra
Solution of linear system of equations
Lecture 11 - LU Decomposition
Symmetric Minimum Priority Ordering for Sparse Unsymmetric Factorization Patrick Amestoy ENSEEIHT-IRIT (Toulouse) Sherry Li LBNL/NERSC (Berkeley) Esmond.
1cs542g-term Sparse matrix data structure  Typically either Compressed Sparse Row (CSR) or Compressed Sparse Column (CSC) Informally “ia-ja” format.
Matrices. Special Matrices Matrix Addition and Subtraction Example.
High Performance Computing 1 Parallelization Strategies and Load Balancing Some material borrowed from lectures of J. Demmel, UC Berkeley.
Sparse Matrix Methods Day 1: Overview Day 2: Direct methods Nonsymmetric systems Graph theoretic tools Sparse LU with partial pivoting Supernodal factorization.
ECIV 520 Structural Analysis II Review of Matrix Algebra.
6/22/2005ICS'20051 Parallel Sparse LU Factorization on Second-class Message Passing Platforms Kai Shen University of Rochester.
Mujahed AlDhaifallah (Term 342) Read Chapter 9 of the textbook
Solving System of Linear Equations. 1. Diagonal Form of a System of Equations 2. Elementary Row Operations 3. Elementary Row Operation 1 4. Elementary.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
CS 290H Lecture 12 Column intersection graphs, Ordering for sparsity in LU with partial pivoting Read “Computing the block triangular form of a sparse.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
MUMPS A Multifrontal Massively Parallel Solver IMPLEMENTATION Distributed multifrontal.
Solving Scalar Linear Systems Iterative approach Lecture 15 MA/CS 471 Fall 2003.
MATH 250 Linear Equations and Matrices
Scalabilities Issues in Sparse Factorization and Triangular Solution Sherry Li Lawrence Berkeley National Laboratory Sparse Days, CERFACS, June 23-24,
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
Parallel Interactive Computing with PyTrilinos and IPython Bill Spotz, SNL (Brian Granger, Tech-X Corporation) November 8, 2007 Trilinos Users Group Meeting.
Dense Linear Algebra Sathish Vadhiyar. Gaussian Elimination - Review Version 1 for each column i zero it out below the diagonal by adding multiples of.
Automatic Differentiation: Introduction Automatic differentiation (AD) is a technology for transforming a subprogram that computes some function into a.
 6.2 Pivoting Strategies 1/17 Chapter 6 Direct Methods for Solving Linear Systems -- Pivoting Strategies Example: Solve the linear system using 4-digit.
Amesos Sparse Direct Solver Package Tim Davis, Mike Heroux, Rob Hoekstra, Marzio Sala, Ken Stanley, Heidi Thornquist, Jim Willenbring Trilinos Users Group.
Lecture 7 - Systems of Equations CVEN 302 June 17, 2002.
Linear algebra: matrix Eigen-value Problems Eng. Hassan S. Migdadi Part 1.
Amesos Interfaces to sparse direct solvers October 15, :30 – 9:30 a.m. Ken Stanley.
New Features in ML 2004 Trilinos Users Group Meeting November 2-4, 2004 Jonathan Hu, Ray Tuminaro, Marzio Sala, Michael Gee, Haim Waisman Sandia is a multiprogram.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy’s National Nuclear.
Department of Electronic Engineering, Tsinghua University Nano-scale Integrated Circuit and System Lab. Performance Analysis of Parallel Sparse LU Factorization.
Administrivia: October 5, 2009 Homework 1 due Wednesday Reading in Davis: Skim section 6.1 (the fill bounds will make more sense next week) Read section.
Dense Linear Algebra Sathish Vadhiyar. Gaussian Elimination - Review Version 1 for each column i zero it out below the diagonal by adding multiples of.
Linear Algebra Libraries: BLAS, LAPACK, ScaLAPACK, PLASMA, MAGMA
ECE 530 – Analysis Techniques for Large-Scale Electrical Systems Prof. Hao Zhu Dept. of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
1 1  Capabilities: Serial (C), shared-memory (OpenMP or Pthreads), distributed-memory (hybrid MPI+ OpenM + CUDA). All have Fortran interface. Sparse LU.
Photos placed in horizontal position with even amount of white space between photos and header Sandia National Laboratories is a multi-program laboratory.
Lecture 6 - Single Variable Problems & Systems of Equations CVEN 302 June 14, 2002.
CS 290H Lecture 15 GESP concluded Final presentations for survey projects next Tue and Thu 20-minute talk with at least 5 min for questions and discussion.
H.Melikian/12101 System of Linear Equations and Augmented Matrices Dr.Hayk Melikyan Departmen of Mathematics and CS
ML: A Multilevel Preconditioning Package Copper Mountain Conference on Iterative Methods March 29-April 2, 2004 Jonathan Hu Ray Tuminaro Marzio Sala Sandia.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
Parallel Programming & Cluster Computing Linear Algebra Henry Neeman, University of Oklahoma Paul Gray, University of Northern Iowa SC08 Education Program’s.
Symmetric-pattern multifrontal factorization T(A) G(A)
Slide Copyright © 2009 Pearson Education, Inc. 7.4 Solving Systems of Equations by Using Matrices.
1 1.2 Linear Equations in Linear Algebra Row Reduction and Echelon Forms © 2016 Pearson Education, Ltd.
TEMPLATE DESIGN © H. Che 2, E. D’Azevedo 1, M. Sekachev 3, K. Wong 3 1 Oak Ridge National Laboratory, 2 Chinese University.
1 Numerical Methods Solution of Systems of Linear Equations.
A computational loop k k Integration Newton Iteration
Linear Equations.
Programming #4 Computer Problems
Linear Equations in Linear Algebra
Determinant of a Matrix
Parallel build blocks.
Dense Linear Algebra (Data Distributions)
Linear Equations in Linear Algebra
Parallelized Analytic Placer
A computational loop k k Integration Newton Iteration
Presentation transcript:

Amesos Sparse Direct Solver Package Ken Stanley, Rob Hoekstra, Marzio Sala, Tim Davis, Mike Heroux Trilinos Users Group Albuquerque 3 Nov 2004

What’s new in Amesos Release - in Trilinos 4.0 Solvers - Klu, Mumps, SuperLU Interface - Base Solver and Factory Method Epetra_RowMatrix support Future – Distributed Memory Solver

Amesos Interface to sparse direct solvers Common clean interface Pick a solver! Any solver on any (Epetra) matrix Trilinos package –Autotooled configuration & build –Nightly testing –Bug Tracking

Epetra_LinearProblem Problem( A, x, b); Amesos Afact; Amesos_BaseSolver* Solver = Afact.Create( “Klu”, Problem ) ; Solver->SymbolicFactorization( ) ; Solver->NumericFactorization( ) ; Solver->Solve( ) ; Calling Amesos

Amesos Solvers Klu: Built-in. Serial unsymmetric [Davis] SuperLU: Serial unsymmetric [Li et al.] UMFPACK: Serial unsymmetric [Davis] SuperLUdist: Parallel unsymmetric [Li et al.] MUMPS: Parallel unsymmetric [Amestoy et al.] DSCPACK: Parallel Symmetric [Ragavan]

Amesos User Guide: Build Amesos –CONFIGURE:./configure –enable-amesos –BUILD: make –TEST: cd amesos/test source AmesosKlu.exe Getting started: Building Amesos

Epetra_LinearProblem Problem( A, x, b); Amesos Afact; Amesos_BaseSolver* Solver = Afact.Create( “Klu”, Problem ) ; Solver->SymbolicFactorization( ) ; For () { // Changes to the data, but not the non-zero pattern Solver->NumericFactorization( ) ; Solver->Solve( ) ; } Calling Amesos Same Structure Different Data

Epetra_LinearProblem Problem( A, x, b); Amesos Afact; Amesos_BaseSolver* Solver = Afact.Create( “Klu”, Problem ) ; Solver->SymbolicFactorization( ) ; Solver->NumericFactorization( ) ; For ( ) { // Changes to b Solver->Solve( ) ; } Calling Amesos Multiple Solves, Changing RHS

Epetra_Multivector x, b; Epetra_LinearProblem Problem( A, x, b); Amesos Afact; Amesos_BaseSolver* Solver = Afact.Create( “Klu”, Problem ) ; Solver->SymbolicFactorization( ) ; Solver->NumericFactorization( ) ; Solver->Solve( ) ; Calling Amesos Blocked Right Hand Sides

Epetra_LinearProblem Problem( A, x, b); Amesos Afact; Amesos_BaseSolver* Solver = Afact.Create( “Klu”, Problem ) ; ParamList.SetParam( “Refactorize”, true ); Solver->SetParameters( ParamList ); Solver->SymbolicFactorization( ) ; For () { // Small changes to the data, Same non-zero pattern Solver->NumericFactorization( ) ; Solver->Solve( ) ; } Calling Amesos Pivotless Re-factorization

Amesos Switching solvers Afact.Create( “Klu”, Problem ) ; -> Afact.Create( “SuperLUdist”, Problem ) ; Amesos redistributes data (serial to parallel, etc.) Heuristics consistent across solvers Parameter List –Allows individual control over each solver Amesos fills in capabilities –Transpose –Blocked right hand sides

Amesos User Guide: Download source from the authors’ website –Modify make.inc –“make” – Check output of example run Future Work –Work with authors to Autotool their libraries Amesos Adding third party libraries

Amesos User Guide: Build Amesos –CONFIGURE: (e.g. DSCPACK )./configure –enable-amesos –enable-amesos- dscpack –with-libs=“-L/dir –ldscpack” -with- incdirs=-I/dir/SRC –BUILD: make –TEST: cd amesos/test source AmesosDscpack.exe Building Amesos with additional third party libraries

Amesos Future Work Additional third party libraries Allow any ordering to be used by any package Extended precision iterative refinement Enhance nightly testing –Performance –Memory leaks –Check code coverage Work with authors to autotool their libraries

Amesos [Davis, Stanley, Heroux] Distributed memory solver goals: Built into Amesos in 2005 Simple design Full partial pivoting –Allowing restrictions may improve performance Leverage existing technology –Epetra support –Amesos serial solvers –Partitioners –Static Pivoting

Amesos Distributed memory solver overview Reduction to Block Triangular form Partition each block Use “enhanced” Amesos serial solver for local partition factorization –Restricted Pivoting –Partial Factorization Add Schur Complements to root node Use any Amesos solver on the root node

No Pivot Case Factor Leaves Compute Schur Complements Update Root Node Factor Root

Static pivoting [Li; Demmel] Local pivoting Delayed pivoting Singly bordered form [J. Scott] augmented matrix Pivoting Strategies

Static and Local Pivoting Static pivoting [Li; Demmel] –Reorder and scale rows and columns to promote diagonal dominance –Imperfect but works well in practice –Can reduce need for pivoting even if it doesn’t eliminate it Local pivoting –Requires no additional communication

Delayed pivoting Delay columns which do not allow an acceptable pivot choice Allow root node to grow Threshold pivoting reduces communication Requires: –A serial solver which supports delayed pivoting –Mutable root node size

Augment matrix, adding columns [-I;I] to split and onto separate rows Allows full partial pivoting If and are not used as pivots, matrix can be collapsed to original size Singly bordered form

Amesos Interface to sparse direct solvers Simple interface SuperLU, KLU, MUMPS, UMFPACK, DSCPACK, SuperLUdist Built-in serial solver Future: –Built-in distributed memory solver –More third party solvers –Extended precision iterative refinement