[petsc-users] -log_view hangs unexpectedly // how to optimize my kspsolve
Matthew Knepley
knepley at gmail.com
Sat Jan 7 21:23:02 CST 2017
On Sat, Jan 7, 2017 at 7:38 PM, Manuel Valera <mvalera at mail.sdsu.edu> wrote:
> Ok great, i tried those command line args and this is the result:
>
> when i use -pc_type gamg:
>
> [1]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
>
> [1]PETSC ERROR: Petsc has generated inconsistent data
>
> [1]PETSC ERROR: Have un-symmetric graph (apparently). Use
> '-pc_gamg_sym_graph true' to symetrize the graph or '-pc_gamg_threshold
> -1.0' if the matrix is structurally symmetric.
>
> [1]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html
> for trouble shooting.
>
> [1]PETSC ERROR: Petsc Release Version 3.7.4, unknown
>
> [1]PETSC ERROR: ./ucmsMR on a arch-linux2-c-debug named ocean by valera
> Sat Jan 7 17:35:05 2017
>
> [1]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++
> --with-fc=gfortran --download-fblaslapack --download-mpich --download-hdf5
> --download-netcdf --download-hypre --download-metis --download-parmetis
> --download-trillinos
>
> [1]PETSC ERROR: #1 smoothAggs() line 462 in /usr/dataC/home/valera/petsc/
> src/ksp/pc/impls/gamg/agg.c
>
> [1]PETSC ERROR: #2 PCGAMGCoarsen_AGG() line 998 in
> /usr/dataC/home/valera/petsc/src/ksp/pc/impls/gamg/agg.c
>
> [1]PETSC ERROR: #3 PCSetUp_GAMG() line 571 in /usr/dataC/home/valera/petsc/
> src/ksp/pc/impls/gamg/gamg.c
>
> [1]PETSC ERROR: #4 PCSetUp() line 968 in /usr/dataC/home/valera/petsc/
> src/ksp/pc/interface/precon.c
>
> [1]PETSC ERROR: #5 KSPSetUp() line 390 in /usr/dataC/home/valera/petsc/
> src/ksp/ksp/interface/itfunc.c
>
> application called MPI_Abort(comm=0x84000002, 77) - process 1
>
>
> when i use -pc_type gamg and -pc_gamg_sym_graph true:
>
Do everything Barry said.
However, I would like to track down this error. It could be a bug in our
code. However, it appears to happen in the call
to LAPACK, so it could also be a problem with that library on your machine.
Could you run this case in the debugger
and give the stack trace?
Thanks,
Matt
> ------------------------------------------------------------------------
>
> [0]PETSC ERROR: Caught signal number 8 FPE: Floating Point
> Exception,probably divide by zero
>
> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
>
> [0]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/
> documentation/faq.html#valgrind
>
> [0]PETSC ERROR: or try http://valgrind.org on GNU/linux and Apple Mac OS
> X to find memory corruption errors
>
> [1]PETSC ERROR: ------------------------------
> ------------------------------------------
>
> [1]PETSC ERROR: --------------------- Stack Frames
> ------------------------------------
>
> [1]PETSC ERROR: Note: The EXACT line numbers in the stack are not
> available,
>
> [1]PETSC ERROR: INSTEAD the line number of the start of the function
>
> [1]PETSC ERROR: is given.
>
> [1]PETSC ERROR: [1] LAPACKgesvd line 42 /usr/dataC/home/valera/petsc/
> src/ksp/ksp/impls/gmres/gmreig.c
>
> [1]PETSC ERROR: [1] KSPComputeExtremeSingularValues_GMRES line 24
> /usr/dataC/home/valera/petsc/src/ksp/ksp/impls/gmres/gmreig.c
>
> [1]PETSC ERROR: [1] KSPComputeExtremeSingularValues line 51
> /usr/dataC/home/valera/petsc/src/ksp/ksp/interface/itfunc.c
>
> [1]PETSC ERROR: [1] PCGAMGOptProlongator_AGG line 1187
> /usr/dataC/home/valera/petsc/src/ksp/pc/impls/gamg/agg.c
>
> [1]PETSC ERROR: [1] PCSetUp_GAMG line 472 /usr/dataC/home/valera/petsc/
> src/ksp/pc/impls/gamg/gamg.c
>
> [1]PETSC ERROR: [1] PCSetUp line 930 /usr/dataC/home/valera/petsc/
> src/ksp/pc/interface/precon.c
>
> [1]PETSC ERROR: [1] KSPSetUp line 305 /usr/dataC/home/valera/petsc/
> src/ksp/ksp/interface/itfunc.c
>
> [0] PCGAMGOptProlongator_AGG line 1187 /usr/dataC/home/valera/petsc/
> src/ksp/pc/impls/gamg/agg.c
>
> [0]PETSC ERROR: [0] PCSetUp_GAMG line 472 /usr/dataC/home/valera/petsc/
> src/ksp/pc/impls/gamg/gamg.c
>
> [0]PETSC ERROR: [0] PCSetUp line 930 /usr/dataC/home/valera/petsc/
> src/ksp/pc/interface/precon.c
>
> [0]PETSC ERROR: [0] KSPSetUp line 305 /usr/dataC/home/valera/petsc/
> src/ksp/ksp/interface/itfunc.c
>
> [0]PETSC ERROR: --------------------- Error Message
> --------------------------------------------------------------
>
>
> when i use -pc_type hypre it actually shows something different on
> -ksp_view :
>
>
> KSP Object: 2 MPI processes
>
> type: gcr
>
> GCR: restart = 30
>
> GCR: restarts performed = 37
>
> maximum iterations=10000, initial guess is zero
>
> tolerances: relative=1e-14, absolute=1e-50, divergence=10000.
>
> right preconditioning
>
> using UNPRECONDITIONED norm type for convergence test
>
> PC Object: 2 MPI processes
>
> type: hypre
>
> HYPRE BoomerAMG preconditioning
>
> HYPRE BoomerAMG: Cycle type V
>
> HYPRE BoomerAMG: Maximum number of levels 25
>
> HYPRE BoomerAMG: Maximum number of iterations PER hypre call 1
>
> HYPRE BoomerAMG: Convergence tolerance PER hypre call 0.
>
> HYPRE BoomerAMG: Threshold for strong coupling 0.25
>
> HYPRE BoomerAMG: Interpolation truncation factor 0.
>
> HYPRE BoomerAMG: Interpolation: max elements per row 0
>
> HYPRE BoomerAMG: Number of levels of aggressive coarsening 0
>
> HYPRE BoomerAMG: Number of paths for aggressive coarsening 1
>
> HYPRE BoomerAMG: Maximum row sums 0.9
>
> HYPRE BoomerAMG: Sweeps down 1
>
> HYPRE BoomerAMG: Sweeps up 1
>
> HYPRE BoomerAMG: Sweeps on coarse 1
>
> HYPRE BoomerAMG: Relax down symmetric-SOR/Jacobi
>
> HYPRE BoomerAMG: Relax up symmetric-SOR/Jacobi
>
> HYPRE BoomerAMG: Relax on coarse Gaussian-elimination
>
> HYPRE BoomerAMG: Relax weight (all) 1.
>
> HYPRE BoomerAMG: Outer relax weight (all) 1.
>
> HYPRE BoomerAMG: Using CF-relaxation
>
> HYPRE BoomerAMG: Not using more complex smoothers.
>
> HYPRE BoomerAMG: Measure type local
>
> HYPRE BoomerAMG: Coarsen type Falgout
>
> HYPRE BoomerAMG: Interpolation type classical
>
> HYPRE BoomerAMG: Using nodal coarsening (with
> HYPRE_BOOMERAMGSetNodal() 1
>
> HYPRE BoomerAMG: HYPRE_BoomerAMGSetInterpVecVariant() 1
>
> linear system matrix = precond matrix:
>
> Mat Object: 2 MPI processes
>
> type: mpiaij
>
> rows=200000, cols=200000
>
> total: nonzeros=3373340, allocated nonzeros=3373340
>
> total number of mallocs used during MatSetValues calls =0
>
> not using I-node (on process 0) routines
>
>
>
> but still the timing is terrible.
>
>
>
>
>
> On Sat, Jan 7, 2017 at 5:28 PM, Jed Brown <jed at jedbrown.org> wrote:
>
>> Manuel Valera <mvalera at mail.sdsu.edu> writes:
>>
>> > Awesome Matt and Jed,
>> >
>> > The GCR is used because the matrix is not invertible and because this
>> was
>> > the algorithm that the previous library used,
>> >
>> > The Preconditioned im aiming to use is multigrid, i thought i configured
>> > the hypre-boomerAmg solver for this, but i agree in that it doesn't
>> show in
>> > the log anywhere, how can i be sure is being used ? i sent -ksp_view log
>> > before in this thread
>>
>> Did you run with -pc_type hypre?
>>
>> > I had a problem with the matrix block sizes so i couldn't make the petsc
>> > native multigrid solver to work,
>>
>> What block sizes? If the only variable is pressure, the block size
>> would be 1 (default).
>>
>> > This is a nonhidrostatic pressure solver, it is an elliptic problem so
>> > multigrid is a must,
>>
>> Yes, multigrid should work well.
>>
>
>
--
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/20170107/a149e329/attachment-0001.html>
More information about the petsc-users
mailing list