History for Solver Libraries
changed:
-
Trilinos
The "Trilinos Project":http://software.sandia.gov/trilinos "is an effort
to develop and implement robust parallel algorithms using modern
object-oriented software design, while still leveraging the value of
established numerical libraries such as PETSc, Aztec, the BLAS and
LAPACK."
Includes multilevel preconditioners and nonlinear solver. Note that Jon Pearce
uses this in his thesis work.
Epetra in Trilinos has experimental support for "shared memory parallelism
within MPI
processes":http://software.sandia.gov/Trilinos/packages/docs/r5.0/packages/epetra/doc/html/classEpetra__MpiSmpComm.html.
hypre
"hypre":http://www.llnl.gov/CASC/linear_solvers/ is "a library of high
performance preconditioners that features parallel multigrid methods for
both structured and unstructured grid problems".
A subset ("most":http://www.llnl.gov/CASC/linear_solvers/pubs/concif.pdf)
of hypre is threaded.
Note that hypre contains BoomerAMG, which is an MPI-based Algebraic
Multigrid Code. Also, Oliver and I (Travis) have some experience using
hypre and have good connections to developers of hypre.
The
"licence":http://www.llnl.gov/casc/hypre/download/hypre_Cur_agree.html
states: "Commercialization of this product is prohibited without notifying
the Department of Energy (DOE) or Lawrence Livermore National Laboratory
(LLNL)."
Aztec
"Aztec":http://acts.nersc.gov/aztec/ "is a library that provides
algorithms for the solution of large sparse linear systems arising in
scientific and engineering applications".
Written in C. Callable from Fortran.
Uses MPI.
"No threading currently":http://www.llnl.gov/asci/purple/benchmarks/limited/aztec/aztec.readme.bm.html.
The "licence":http://www.cs.sandia.gov/CRF/Aztec_download.html is for
"research, development and demonstration purposes only".
SUNDIALS
"SUNDIALS":http://www.llnl.gov/CASC/sundials/ is a !SUite of Nonlinear and
!DIfferential/!ALgebraic equation Solvers.
Developed from Fortran codes. Now C. Note that Jon Pearce is using this for
this thesis work.
!UbikSolve
"UbikSolve":http://sourceforge.net/projects/ubiksolve/ is a F90/95 sparse MPI-based linear algebra
library, with emphasis on preconditioned Krylov subspace methods for the solution of linear systems of equations.
I (Travis) used this at Los Alamos and found it easy to use. Also, it has an Artistic License, like perl. Furthermore, you pass a
pointer to your Matrix-Vector multiply into the Krylov solver so it is easy to use with respect to different distributed matrix
storage schemes.
Petsc
Petsc can also be thought of as a linear solver library. In fact, it contains a variety of solver
options that can probably be taken advantage of independently of the rest of Petsc.