#include "ml_include.h"
Include dependency graph for ml_amesos_wrap.h:
This graph shows which files directly or indirectly include this file:
Functions | |
| int | ML_Amesos_Gen (ML *ml, int curr_level, int choice, int MaxProcs, void **Amesos_Handle) |
| int | ML_Amesos_Solve (void *Amesos_Handle, double x[], double rhs[]) |
| void | ML_Amesos_Destroy (void *Amesos_Handle) |
The ML/Amesos interface can be used to solve the coarse problem with some of the sparse direct solvers supported by Amesos:
For serial solvers, Amesos will take care to redistribute all required data to process 0, solve the linear system on process 0, then broadcast the solution back to all the processes.
For parallel solvers (like SuperLU_DIST and MUMPS), the user can tell Amesos how many processes should be used for the coarse solution. This number can be:
In its current implementation, ML/Amesos converts the ML_Operator for the coarse level to and Epetra matrix ("heavy conversion").
ML_AMESOS_DEBUG is defined, some checks are performed to verify that the linear system has been solved up to machine precision.
We experienced some problems with out on TFLOPS. These problems were solved by replacing cout with puts().
FIXME: Introduce a light-weight conversion from ML_Operator to Epetra_RowMatrix.
|
|
Destroy the Amesos object. Prints out some timing. |
|
||||||||||||||||||||||||
|
This function performs several operations:
|
|
||||||||||||||||
|
Solves using Amesos, and the factorization computed by ML_Amesos_Gen. |
1.3.9.1