Amesos Sparse Direct Solver Package - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Amesos Sparse Direct Solver Package

Description:

Pivotless Re-factorization. Amesos. Switching solvers. Afact.Create( 'Klu', Problem ) ... Adding third party libraries. Amesos User Guide: ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 23
Provided by: trilino
Category:

less

Transcript and Presenter's Notes

Title: Amesos Sparse Direct Solver Package


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

2
Whats 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

3
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

4
Calling Amesos
  • Epetra_LinearProblem Problem( A, x, b)
  • Amesos Afact
  • Amesos_BaseSolver Solver Afact.Create( Klu,
    Problem )
  • Solver-gtSymbolicFactorization( )
  • Solver-gtNumericFactorization( )
  • Solver-gtSolve( )

5
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

6
Getting started Building Amesos
  • Amesos User Guide
  • http//software.sandia.gov/trilinos/packages/ameso
    s
  • Build Amesos
  • CONFIGURE
  • ./configure enable-amesos
  • BUILD
  • make
  • TEST
  • cd amesos/test
  • source AmesosKlu.exe

7
Calling AmesosSame Structure Different Data
  • Epetra_LinearProblem Problem( A, x, b)
  • Amesos Afact
  • Amesos_BaseSolver Solver Afact.Create( Klu,
    Problem )
  • Solver-gtSymbolicFactorization( )
  • For ()
  • // Changes to the data, but not the non-zero
    pattern
  • Solver-gtNumericFactorization( )
  • Solver-gtSolve( )

8
Calling AmesosMultiple Solves, Changing RHS
  • Epetra_LinearProblem Problem( A, x, b)
  • Amesos Afact
  • Amesos_BaseSolver Solver Afact.Create( Klu,
    Problem )
  • Solver-gtSymbolicFactorization( )
  • Solver-gtNumericFactorization( )
  • For ( )
  • // Changes to b
  • Solver-gtSolve( )

9
Calling AmesosBlocked Right Hand Sides
  • Epetra_Multivector x, b
  • Epetra_LinearProblem Problem( A, x, b)
  • Amesos Afact
  • Amesos_BaseSolver Solver Afact.Create( Klu,
    Problem )
  • Solver-gtSymbolicFactorization( )
  • Solver-gtNumericFactorization( )
  • Solver-gtSolve( )

10
Calling AmesosPivotless Re-factorization
  • Epetra_LinearProblem Problem( A, x, b)
  • Amesos Afact
  • Amesos_BaseSolver Solver Afact.Create( Klu,
    Problem )
  • ParamList.SetParam( Refactorize, true )
  • Solver-gtSetParameters( ParamList )
  • Solver-gtSymbolicFactorization( )
  • For ()
  • // Small changes to the data, Same non-zero
    pattern
  • Solver-gtNumericFactorization( )
  • Solver-gtSolve( )

11
Amesos Switching solvers
  • Afact.Create( Klu, Problem )
  • -gt 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

12
Amesos Adding third party libraries
  • Amesos User Guide http//software.sandia.gov/tri
    linos/packages/amesos
  • Download source from the authors website
  • Modify make.inc
  • make
  • Check output of example run
  • Future Work
  • Work with authors to Autotool their libraries

13
Building Amesoswith additional third party
libraries
  • Amesos User Guide
  • http//software.sandia.gov/trilinos/packages/ameso
    s
  • 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

14
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

15
Amesos Davis, Stanley, HerouxDistributed
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

16
AmesosDistributed 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

17
No Pivot Case
Factor Leaves
Compute Schur Complements
Update Root Node
Factor Root
18
Pivoting Strategies
  • Static pivoting Li Demmel
  • Local pivoting
  • Delayed pivoting
  • Singly bordered
  • form J. Scott
  • augmented matrix

19
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 doesnt
    eliminate it
  • Local pivoting
  • Requires no additional communication

20
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

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

22
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
Write a Comment
User Comments (0)
About PowerShow.com