[petsc-users] Rock & Hard Place with SuperLU

Matthew Knepley knepley at gmail.com
Mon Jan 28 19:20:43 CST 2013


On Mon, Jan 28, 2013 at 7:46 PM, Brian Helenbrook <bhelenbr at clarkson.edu>wrote:

> Hi Again,
>
> Thanks for everybody's prompt help.  I got petsc3.2-p7 running again and
> that works so at least I am able to get results again.
>
> I ran my test case with petsc3.2-p7 and petsc3.3-p5 and turned on ksp_view
> output.   The file "output" is identical except for one line:
>
> tolerance for zero pivot 2.22045e-14 for petsc3.3-p5 and
> tolerance for zero pivot 1e-12 for petsc3.2-p7
>
> This is the file "output" from ksp_view
>
> KSP Object: 2 MPI processes
>   type: preonly
>   maximum iterations=10000, initial guess is zero
>   tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>   left preconditioning
>   using NONE norm type for convergence test
> PC Object: 2 MPI processes
>   type: lu
>     LU: out-of-place factorization
>     tolerance for zero pivot 2.22045e-14
>     matrix ordering: natural
>     factor fill ratio given 0, needed 0
>       Factored matrix follows:
>         Matrix Object:         2 MPI processes
>           type: mpiaij
>           rows=6957, cols=6957
>           package used to perform factorization: superlu_dist
>           total: nonzeros=0, allocated nonzeros=0
>           total number of mallocs used during MatSetValues calls =0
>             SuperLU_DIST run parameters:
>               Process grid nprow 2 x npcol 1
>               Equilibrate matrix TRUE
>               Matrix input mode 1
>               Replace tiny pivots TRUE
>               Use iterative refinement FALSE
>               Processors in row 2 col partition 1
>               Row permutation LargeDiag
>               Column permutation METIS_AT_PLUS_A
>               Parallel symbolic factorization FALSE
>               Repeated factorization SamePattern_SameRowPerm
>   linear system matrix = precond matrix:
>   Matrix Object:   2 MPI processes
>     type: mpiaij
>     rows=6957, cols=6957
>     total: nonzeros=611043, allocated nonzeros=0
>     total number of mallocs used during MatSetValues calls =0
>       using I-node (on process 0) routines: found 1407 nodes, limit used
> is 5
>
> The residual vector going into the KSP inversion is the same, but the
> inversion gives a different answer
>
> petsc3.3-p5:
>
> jacobian made 4.628e-01 seconds
> matrix inverted 9.669e-01 seconds
> # iterations 1 residual0 1.824e-05 du 4.290e-05 solve time: 1.821e-02
> seconds
>
> petsc3.2-p7:
>
> jacobian made 4.279e-01 seconds
> matrix inverted 6.854e-01 seconds
> # iterations 1 residual0 1.824e-05 du 1.885e-05 solve time: 1.284e-02
> seconds
>
> Where the output is calculated as:
>
> double resmax;
> VecNorm(petsc_f, NORM_2, &resmax );
>
>
> PetscGetTime(&time1);
> err = KSPSolve(ksp,petsc_f,petsc_du);
> CHKERRABORT(MPI_COMM_WORLD,err);
>
>
> double resmax2;
> VecNorm(petsc_du, NORM_2, &resmax2 );
>
>
> KSPGetIterationNumber(ksp,&its);
> PetscGetTime(&time2);
> *gbl->log << "# iterations " << its << " residual0 " << resmax << " du "<< resmax2 << "
> solve time: " << time2-time1 << " seconds" << endl;
>
>
> I can output the jacobian and make sure that is the same, but I'm guessing
> that it is.     Any other suggestions of things to try?   I'd be surprised
> if the zero-pivot thing had much to do with it although I could be wrong.
> I've arranged the matrices to try and make them diagonally dominant going
> in.   Does anyone know how to change that setting of the top of their head
> (i.e. without me reading the manual).
>

Excellent!

1) Output the matrix and rhs in PETSc binary format, either with a call to
Vec/MatView(), or with -ksp_view_binary

2) Run your setup using KSP ex10

3) Send them (or post them) to petsc-maint at mcs.anl.gov and we can also do
that and find the bug

  Thanks,

      Matt


> Thanks again,
>
> Brian
>
>
>
>
>
>
>
>
>


-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130128/4697bce8/attachment.html>


More information about the petsc-users mailing list