[Trilinos-Users] aztecOO thyra trouble

Bartlett, Roscoe A rabartl at sandia.gov
Tue Apr 3 07:57:04 MDT 2007


Hello Marco,

The AztecOO/Thyra adapters work in parallel (tested in other packages
like moocho and rythmos) but the simple test program that you are trying
to run has not been run in parallel (see the file
Trilinos/packages/aztecoo/test/definition).  To avoid confusion, I
really should throw an exception when np > 1.  Basically, as long as you
create your Epetra maps correctly (see Epetra documentation) and create
the appropriately distributed Epetra_[Multi]Vector and Epetra_CrsMatrix
(or other Epetra_Operator) objects correctly, then the AztecOO/Thyra
adapters will do the right thing independent of parallelism.

Rather coding directly to the AztecOO/Thyra adapters, I might suggest
that you use the class Thyra::DefaultRealLinearSolverBuilder in the
package Stratimikos to access linear solvers.  See the example at:

 
http://software.sandia.gov/Trilinos/packages/docs/r7.0/packages/stratimi
kos/doc/html/simple__stratimikos__example_8cpp-example.html

By using this class from Stratimikos, you can access all of the linear
solver and preconditioner capabilities in Amesos, AztecOO, Belos
(Trilinos Dev only), Ifpack and ML through a single parameter list
driven interface.  All you do is wrap your Epetra objects and Thyra
objects (see above example) and then you can switch back and forth
between any of these various solver methods.

Cheers,

Ross

-----Original Message-----
From: trilinos-users-bounces at software.sandia.gov
[mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of Marco
Morandini
Sent: Tuesday, April 03, 2007 1:43 AM
To: trilinos-users at software.sandia.gov
Subject: [Trilinos-Users] aztecOO thyra trouble

I'm having trouble running
test_single_aztecoo_thyra_solver_driver.exe
with more than 1 process (on a single cpu machine, but this should not
make any difference, right?).
Is it supposed to work in parallel?
I'm the only one seeing this?

I've partially tracked down the problem:

after the call

     // Here we will be careful not to reset the forward operator in
fears that
     // it will blow out the internally created stuff.
 
aztecFwdSolver->SetUserOperator(const_cast<Epetra_Operator*>(&*aztec_epe
aztecFwdSolver->tra_epetraFwdOp));


in Thyra_AztecOOLinearOpWithSolveFactory.cpp
the code enters
int AztecOO::SetUserOperator(Epetra_Operator * UserOperator) { in
AztecOO.cpp

and hangs inside the call to UserOperator->NormInf():

   // Aztec needs upper bound for matrix norm if doing polynomial
preconditioning
   if (UserOperator->HasNormInf()) {
     AZ_set_MATFREE_matrix_norm(Amat_, UserOperator->NormInf());

I'm lost after that.
I was not able to get a meaningful backtrace.

The command line is

mpirun -np 2 test_single_aztecoo_thyra_solver_driver.exe
--matrix-file=KheadSorted.mtx

The mpi implementation is openmpi-1.2; the same happens with mpich.

Operating system: Suse 10.2,
gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)

Trilinos 7.0.5, configured with

../configure  --with-gnumake --enable-mpi --with-mpi-compilers
--enable-teuchos --enable-teuchos-extended --enable-teuchos-complex
--enable-teuchos-expat --enable-thyra --enable-epetra --enable-galeri
--enable-moertel --enable-stratimikos --enable-amesos
--enable-amesos-umfpack --enable-ifpack --enable-aztecoo
--enable-aztecoo-azlu --enable-triutils --enable-nox --enable-nox-epetra
--enable-nox-lapack --enable-new_package
--prefix=/home/marco/local/trilinos-7.0.5 --enable-expat
--enable-epetraext --enable-ml --enable-anasazi --enable-loca-anasazi
--disable-thyra-tests --disable-thyra-examples --enable-nox-examples
--enable-rtop --with-trilinos

Thanks in advance,

Marco

_______________________________________________
Trilinos-Users mailing list
Trilinos-Users at software.sandia.gov
http://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list