Amesos contains four supported classes:
In addition, Amesos contains a prototype code, Amesos_Mumps, which has passed a series of tests on Atlantis, an SGI machine, using 64 bit compilers.
Amesos is migrating toward a base class model: Amesos_BaseSolver. All future Amesos classes will implement the base class.
Amesos will soon support the following class:
Most of these third party codes are intended to be made available at no cost to users. Much of the copyright and licensing restrictions concern rights to modify, redistribute the code and generally include a request that credit be given in any papers which make use of their code. Please refer to the web page for the package that you are interested in for details.
It is the intent of the SuperLU team to make SuperLU and SuperLUdist freely available without any copyright restrictions, i.e. not even GPL restrictions. However, as of the last I checked, they still included one or two codes that have more restrictive copyrights.
| Features | Amesos_Dscpack | Amesos_Umfpack | Epetra_SLU | SuperludistOO | Amesos_Mumps |
| Based on Amesos_BaseSolver | Yes | Yes | No | No | Yes |
| Memory requirement | Serial structure; Distributed values and LU | All serial | All serial | Serial input; Distributed LU | Serial input; Distributed LU |
| Distributed input matrix | Yes | Yes | No | Yes | Yes |
| Unsymmetric matrices | No | Yes | Yes | Yes | Yes |
| Testing | Amesos_Dscpack | Amesos_Umfpack | Epetra_SLU | SuperludistOO | Amesos_Mumps |
| Sgi64/IRIX/Atlantis | nightly | nightly | unit | nightly | unit |
| Sunos/Paunchy | unit | unit | unit | nightly | not built |
| Herouxsmp/Linux | unit | unit | unit | nightly | not built |
| OSF/Stratus | unit | nightly | unit | unit | not built |
| cygwin | unit | nightly | unit | nightly | not built |
Notes:
Additional architecture specific hints can be found in the CVS repositiory ~/Trilinos3PL/config. A copy, albeit a potentially out-of-date copy, of ~/Trilinos3PL/config can be found at: http://www.cs.utk.edu/~kstanley/Trilinos3PL/config.
(0) .. ||X-Xtrue||/||X|| = 1.110223e-15
EQUIL time 0.01
COLPERM time 0.00
ROWPERM time 0.02
SYMBFACT time 0.00
DISTRIBUTE time 0.01
FACTOR time 0.05
Factor flops 9.957800e+04 Mflops 2.11
SOLVE time 0.03
Solve flops 3.325800e+04 Mflops 1.18
REFINEMENT time 0.03 Steps 1
10x10 grid, with COLMMD order Dimension 100x100; # nonzeros 460 Use minimum degree ordering on A'*A. Factor time = -0.00 Factor flops = 2.038800e+04 Mflops = -48922564965826384.00 Solve time = -0.00 Solve flops = 3.854000e+03 Mflops = -9247967695619722.00 ||X - Xtrue||/||X|| = 3.796963e-14 No of nonzeros in factor L = 914 No of nonzeros in factor U = 1113 No of nonzeros in L+U = 1927 L MB 0.022 total MB needed 0.042 expansions 0
This is quoted verbatim from the DSCPACK/Readme file:
To Install -----------
cd DSC_LIB edit Makefile to provide MPI/BLAS include file paths make lib_dbl ( to make double precision version)
cd ..
edit Makefile to provide MPI/BLAS include file paths
and libraries
make all
(to make double precision version of all examples)
Note: "make Solve1" will not work, use "make all".
Type:
mpirun -np 2 ./Solve1 2 3 4 1 1 1 1 2 1
Expected output:
...starting with 2 processors in solver group
...Grid 2X 3X 4, Order 1, Factor 1, Solve 1, RHS 1, Processor 2, NumLocalNonz = 35 Stats after Matrix number 1 [1]
_________________________________________________________________________________________________________
P Type rank |A|(K) #solves sol-err count-err sample
2 TS-LLT 24 0.07 1 0.0000000000 0.0000000000 1.0000000000
O-time(s) S-time(s) N-time(s) N-ops(M) N-rate(M) |L|(K) SO-time(s) SO-ops(M) SO-rate(M)
min 0.00 0.00 0.00 0.00 0.52 0.07 0.00 0.00 ----
max 0.00 0.00 0.00 0.00 0.55 0.07 0.00 0.00 ----
overall ---- ---- ---- 0.00 0.96 0.15 ---- 0.00 1.14
Memory(Mbytes) min max overall
Estimate 0.00 NumLocalNonz = 35
0.00 0.01
Observed 0.00 0.00 0.01
Observed L-mem 0.00 0.00 0.00
Observed stack 0.00 0.00 0.00
Solve-memory 0.00 0.00 0.00
_________________________________________________________________________________________________________
Refer to the Readme for more complete testing and for an explanation of the above execution of Solve1. There is nothing particular about those parameters, many other combinations work.
Should produce "Solution is : ( 1.00 2.00 )
Should produce roughly 73 lines of output of which the last is:
Solution is 1., 2., 3., 4., 5. (or something close to that)
UMFPACK requires two libraries libumfpack.a and libamd.a. If you install UMFPACK in your Trilinos3PL directory using the directory structure provided by UMFPACK, "--with-trilinos3pldir=" is sufficient. If you install these libraries in other directories, you can use --with-amesos-umfpacklib= and --with-amesos-umfpackamdlib= to specify those libraries.
MUMPS requires two libraries libdmumps.a and libpord.a. If you install MUMPS in your Trilinos3PL directory using the directory structure provided by MUMPS, "--with-trilinos3pldir=" is sufficient. If you install these libraries in other directories, you can use --with-amesos-mumpslib= and --with-amesos-mumpspordlib= to specify those libraries. MUMPS also requires ScaLAPACK and BLACS libs. Use LIBS="" in the configuration script to specify the ScaLAPACK and BLACS libraries for inclusion in the link.
cd packages/amesos/test source AmesosShortScript.exe echo $status
In the 3.0.1 tar ball, the test will print a message upon success. In the current development version of the code, under CVS control, the test is silent. However there are two ways to test whether the test succeeded:
grep OK SST.summary | wc grep mpirun AmesosShortScript.exe | grep -v comment | wc
Note: If AmesosShortScript.exe is not in amesos/test, it is likely that the make in the amesos/test directory failed.
AmesosShellScript.exe contains a slightly longer test including larger matrices.
AmesosShortSuperLU.exe, found only in the CVS repository at the moment, tests Amesos with SuperLU serial. Follow the instruction for testing with SuperLU distributed above, using AmesosShortSuperLU.exe instead of AmesosShortScript.exe.
cd packages/amesos/test source AmesosDscpackShort.exe echo $status
grep OK SST.summary | wc grep mpirun AmesosShortScript.exe | grep -v comment | wc
Note: If AmesosDscpackShort.exe is not in amesos/test, it is likely that the make in the amesos/test directory failed.
AmesosDscpack.exe contains a slightly longer test.
cd packages/amesos/test source AmesosUmfpackSerial.exe echo $status
grep OK SST.summary | wc grep mpirun AmesosUmfpack.exe | grep -v comment | wc
AmesosUmfpack.exe tests Amesos_Umfpack built with MPI. (UMFPACK is a serial code, however Amesos_Umfpack accepts a distributed matrix as a convenience.)
Note: If AmesosDscpackShort.exe is not in amesos/test, it is likely that the make in the amesos/test directory failed.
My UTK Amesos home page may be more up-to-date on occasion.
This page last updated 23 July 2003.
1.3.9.1