[petsc-users] Fwd: Any changes in ML usage between 3.1-p8 -> 3.3-p6?

Jozsef Bakosi jbakosi at lanl.gov
Tue Apr 23 13:57:56 CDT 2013


Hi Mark and Jed,

Thanks for your suggestions. I tried setting the zero pivot and shift as well,
and those do not seem to help. See the attached output.

> On 04.18.2013 10:34, Jed Brown wrote:
>
> As Mark says, use
>
>  -mg_levels_ksp_type chebyshev -mg_levels_pc_type jacobi

As Mark Christon said earlier, this is not really an option for us because it is
a solution to problem that is different than what we are trying to solve.

The problem is not that we would like to have this particular problem converge,
as BCGS or Hypre handles this problem just fine. What we are trying to track
down is what causes the change in PETSc's behavior going between these two
versions, while keeping the application and ML source code the same, as that
might point out an error on our end, e.g. using an undocumented option, or
relying on a default that has changed, etc. The zeropivot and the shift,
pointing to their diff was a good catch, but it seems like there might be
something else as well that causes a different behavior.

Thanks,
Jozsef
-------------- next part --------------
 Phase 0 - no. of bdry pts  = 0 
Aggregation(UC) : Phase 1 - nodes aggregated = 5944 (9124)
Aggregation(UC) : Phase 1 - total aggregates = 293 
Aggregation(UC_Phase2_3) : Phase 1 - nodes aggregated = 5944 
Aggregation(UC_Phase2_3) : Phase 1 - total aggregates = 293
Aggregation(UC_Phase2_3) : Phase 2a- additional aggregates = 45
Aggregation(UC_Phase2_3) : Phase 2 - total aggregates = 338
Aggregation(UC_Phase2_3) : Phase 2 - boundary nodes   = 0
Aggregation(UC_Phase2_3) : Phase 3 - leftovers = 0 and singletons = 0
Gen_Prolongator (level 1) : Max eigenvalue = 1.9726e+00

Prolongator/Restriction smoother (level 1) : damping factor #1 = 6.7594e-01
Prolongator/Restriction smoother (level 1) : ( = 1.3333e+00 / 1.9726e+00)

Smoothed Aggregation : operator complexity = 1.045356e+00.
KSP Object:(PPE_) 4 MPI processes
  type: cg
  maximum iterations=10000
  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
  left preconditioning
  using nonzero initial guess
  using UNPRECONDITIONED norm type for convergence test
PC Object:(PPE_) 4 MPI processes
  type: ml
    MG: type is MULTIPLICATIVE, levels=3 cycles=v
      Cycles per PCApply=1
      Using Galerkin computed coarse grid matrices
  Coarse grid solver -- level -------------------------------
    KSP Object:    (PPE_mg_coarse_)     4 MPI processes
      type: preonly
      maximum iterations=1, initial guess is zero
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using NONE norm type for convergence test
    PC Object:    (PPE_mg_coarse_)     4 MPI processes
      type: redundant
        Redundant preconditioner: First (color=0) of 4 PCs follows
      KSP Object:      (PPE_mg_coarse_redundant_)       1 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:      (PPE_mg_coarse_redundant_)       1 MPI processes
        type: lu
          LU: out-of-place factorization
          tolerance for zero pivot 1e-12
          matrix ordering: nd
          factor fill ratio given 5, needed 3.80946
            Factored matrix follows:
              Matrix Object:               1 MPI processes
                type: seqaij
                rows=338, cols=338
                package used to perform factorization: petsc
                total: nonzeros=49302, allocated nonzeros=49302
                total number of mallocs used during MatSetValues calls =0
                  not using I-node routines
        linear system matrix = precond matrix:
        Matrix Object:         1 MPI processes
          type: seqaij
          rows=338, cols=338
          total: nonzeros=12942, allocated nonzeros=26026
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
      linear system matrix = precond matrix:
      Matrix Object:       4 MPI processes
        type: mpiaij
        rows=338, cols=338
        total: nonzeros=12942, allocated nonzeros=12942
        total number of mallocs used during MatSetValues calls =0
          not using I-node (on process 0) routines
  Down solver (pre-smoother) on level 1 -------------------------------
    KSP Object:    (PPE_mg_levels_1_)     4 MPI processes
      type: richardson
        Richardson: damping factor=0.9
      maximum iterations=1, initial guess is zero
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using NONE norm type for convergence test
    PC Object:    (PPE_mg_levels_1_)     4 MPI processes
      type: bjacobi
        block Jacobi: number of blocks = 4
        Local solve is same for all blocks, in the following KSP and PC objects:
      KSP Object:      (PPE_mg_levels_1_sub_)       1 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:      (PPE_mg_levels_1_sub_)       1 MPI processes
        type: icc
          0 levels of fill
          tolerance for zero pivot 1e-12
          using Manteuffel shift
          matrix ordering: natural
        linear system matrix = precond matrix:
        Matrix Object:         1 MPI processes
          type: seqaij
          rows=2265, cols=2265
          total: nonzeros=60131, allocated nonzeros=60131
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
      linear system matrix = precond matrix:
      Matrix Object:       4 MPI processes
        type: mpiaij
        rows=9124, cols=9124
        total: nonzeros=267508, allocated nonzeros=267508
        total number of mallocs used during MatSetValues calls =0
          not using I-node (on process 0) routines
  Up solver (post-smoother) on level 1 -------------------------------
    KSP Object:    (PPE_mg_levels_1_)     4 MPI processes
      type: richardson
        Richardson: damping factor=0.9
      maximum iterations=1
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using nonzero initial guess
      using NONE norm type for convergence test
    PC Object:    (PPE_mg_levels_1_)     4 MPI processes
      type: bjacobi
        block Jacobi: number of blocks = 4
        Local solve is same for all blocks, in the following KSP and PC objects:
      KSP Object:      (PPE_mg_levels_1_sub_)       1 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:      (PPE_mg_levels_1_sub_)       1 MPI processes
        type: icc
          0 levels of fill
          tolerance for zero pivot 1e-12
          using Manteuffel shift
          matrix ordering: natural
        linear system matrix = precond matrix:
        Matrix Object:         1 MPI processes
          type: seqaij
          rows=2265, cols=2265
          total: nonzeros=60131, allocated nonzeros=60131
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
      linear system matrix = precond matrix:
      Matrix Object:       4 MPI processes
        type: mpiaij
        rows=9124, cols=9124
        total: nonzeros=267508, allocated nonzeros=267508
        total number of mallocs used during MatSetValues calls =0
          not using I-node (on process 0) routines
  Down solver (pre-smoother) on level 2 -------------------------------
    KSP Object:    (PPE_mg_levels_2_)     4 MPI processes
      type: richardson
        Richardson: damping factor=0.9
      maximum iterations=1, initial guess is zero
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using NONE norm type for convergence test
    PC Object:    (PPE_mg_levels_2_)     4 MPI processes
      type: bjacobi
        block Jacobi: number of blocks = 4
        Local solve is same for all blocks, in the following KSP and PC objects:
      KSP Object:      (PPE_mg_levels_2_sub_)       1 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:      (PPE_mg_levels_2_sub_)       1 MPI processes
        type: icc
          0 levels of fill
          tolerance for zero pivot 1e-12
          using Manteuffel shift
          matrix ordering: natural
        linear system matrix = precond matrix:
        Matrix Object:         1 MPI processes
          type: seqaij
          rows=59045, cols=59045
          total: nonzeros=1504413, allocated nonzeros=1594215
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
      linear system matrix = precond matrix:
      Matrix Object:       4 MPI processes
        type: mpiaij
        rows=236600, cols=236600
        total: nonzeros=6183334, allocated nonzeros=12776400
        total number of mallocs used during MatSetValues calls =0
          not using I-node (on process 0) routines
  Up solver (post-smoother) on level 2 -------------------------------
    KSP Object:    (PPE_mg_levels_2_)     4 MPI processes
      type: richardson
        Richardson: damping factor=0.9
      maximum iterations=1
      tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
      left preconditioning
      using nonzero initial guess
      using NONE norm type for convergence test
    PC Object:    (PPE_mg_levels_2_)     4 MPI processes
      type: bjacobi
        block Jacobi: number of blocks = 4
        Local solve is same for all blocks, in the following KSP and PC objects:
      KSP Object:      (PPE_mg_levels_2_sub_)       1 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:      (PPE_mg_levels_2_sub_)       1 MPI processes
        type: icc
          0 levels of fill
          tolerance for zero pivot 1e-12
          using Manteuffel shift
          matrix ordering: natural
        linear system matrix = precond matrix:
        Matrix Object:         1 MPI processes
          type: seqaij
          rows=59045, cols=59045
          total: nonzeros=1504413, allocated nonzeros=1594215
          total number of mallocs used during MatSetValues calls =0
            not using I-node routines
      linear system matrix = precond matrix:
      Matrix Object:       4 MPI processes
        type: mpiaij
        rows=236600, cols=236600
        total: nonzeros=6183334, allocated nonzeros=12776400
        total number of mallocs used during MatSetValues calls =0
          not using I-node (on process 0) routines
  linear system matrix = precond matrix:
  Matrix Object:   4 MPI processes
    type: mpiaij
    rows=236600, cols=236600
    total: nonzeros=6183334, allocated nonzeros=12776400
    total number of mallocs used during MatSetValues calls =0
      not using I-node (on process 0) routines
    solver: ||b|| = 5.9221e-03
    solver: ||x(0)|| = 0.0000e+00
    solver: Iteration: 1 ||r|| = 2.2899e-03 ||x(i+1)-x(i)|| = 5.0933e+00 ||x(i+1)|| = 5.0933e+00
    solver: Iteration: 2 ||r|| = 1.3937e-03 ||x(i+1)-x(i)|| = 5.6534e+00 ||x(i+1)|| = 1.0532e+01
    solver: Iteration: 3 ||r|| = 8.6624e-04 ||x(i+1)-x(i)|| = 2.6100e+00 ||x(i+1)|| = 1.2788e+01
    solver: Iteration: 4 ||r|| = 5.8704e-04 ||x(i+1)-x(i)|| = 9.9167e-01 ||x(i+1)|| = 1.3473e+01
    solver: Iteration: 5 ||r|| = 5.7145e-04 ||x(i+1)-x(i)|| = 3.3801e-01 ||x(i+1)|| = 1.3619e+01
    solver: Iteration: 6 ||r|| = 1.0164e-03 ||x(i+1)-x(i)|| = 1.1916e-01 ||x(i+1)|| = 1.3629e+01
    solver: Iteration: 7 ||r|| = 1.1305e-03 ||x(i+1)-x(i)|| = 5.4793e-03 ||x(i+1)|| = 1.3628e+01

...

#PETSc Option Table entries:
-Mom_ksp_gmres_classicalgramschmidt
-Mom_pc_asm_overlap 1
-Mom_pc_type asm
-Mom_sub_pc_factor_levels 0
-Mom_sub_pc_type ilu
-PPE_mg_coarse_redundant_pc_factor_zeropivot 1e-12
-PPE_mg_levels_ksp_norm_type none
-PPE_mg_levels_ksp_richardson_scale 0.90
-PPE_mg_levels_ksp_type richardson
-PPE_mg_levels_pc_type bjacobi
-PPE_mg_levels_sub_ksp_norm_type none
-PPE_mg_levels_sub_ksp_type preonly
-PPE_mg_levels_sub_pc_factor_shift_amount 1e-12
-PPE_mg_levels_sub_pc_factor_zeropivot 1e-12
-PPE_mg_levels_sub_pc_type icc
-PPE_pc_mg_cycle_type V
-PPE_pc_mg_smoothdown 1
-PPE_pc_mg_smoothup 1
-PPE_pc_ml_PrintLevel 10
-PPE_pc_ml_maxCoarseSize 1000
-PPE_pc_ml_maxNlevels 10
-c ldc3d_iles.cntl
-i ldc3d.exo
-options_left
-options_table
#End of PETSc Option Table entries
There are 2 unused database options. They are:
Option left: name:-c value: ldc3d_iles.cntl
Option left: name:-i value: ldc3d.exo


More information about the petsc-users mailing list