Problems porting code to an IBM power5+ machine
Barry Smith
bsmith at mcs.anl.gov
Mon Mar 19 11:22:23 CDT 2007
On the power5 if the libraries are compiled with --with-debugging=0
build another set (different PETSC_ARCH) with --with-debugging=1
and see what happens. IBM's optimizers are very buggy.
Barry
On Mon, 19 Mar 2007, Knut Erik Teigen wrote:
> Hello
>
> I have got a working code on my local machine( Pentium 4), but when I
> try to run the code on a power5+ machine, the equation solver won't
> converge. It seems like it calculates the wrong right hand side norm.
> Below is the result with run-time options
> "-ksp_type cg -pc_type icc -ksp_monitor -ksp_view -info
> First with the code running on the power5+ machine, then on my local
> machine. I've also printed the right hand side, jacobian matrix and
> solution for a small 3x3 grid.
>
> Can anyone help me figure out what's wrong?
>
> Regards,
> Knut Erik Teigen
>
> Code running on Power5+:
> rhs:
> 980
> 980
> 980
> -0
> -0
> -0
> -980
> -980
> -980
> jacobian:
> row 0: (0, 20) (1, -10) (3, -10)
> row 1: (0, -10) (1, 30) (2, -10) (4, -10)
> row 2: (1, -10) (2, 20) (5, -10)
> row 3: (0, -10) (3, 30) (4, -10) (6, -10)
> row 4: (1, -10) (3, -10) (4, 40) (5, -10) (7, -10)
> row 5: (2, -10) (4, -10) (5, 30) (8, -10)
> row 6: (3, -10) (6, 20) (7, -10)
> row 7: (4, -10) (6, -10) (7, 30) (8, -10)
> row 8: (5, -10) (7, -10) (8, 20)
> [0] PCSetUpSetting up new PC
> [0] PetscCommDuplicateDuplicating a communicator 1 4 max tags =
> 1073741823
> [0] PetscCommDuplicateUsing internal PETSc communicator 1 4
> [0] PetscCommDuplicateUsing internal PETSc communicator 1 4
> 0 KSP Residual norm 7.410163701832e+28
> 1 KSP Residual norm 6.464393707520e+11
> [0] KSPDefaultConvergedLinear solver has converged. Residual norm
> 6.46439e+11 is less than relative tolerance 1e-07 times initial right
> hand side norm 7.41016e+28 at iteration 1
> KSP Object:
> type: cg
> maximum iterations=10000, initial guess is zero
> tolerances: relative=1e-07, absolute=1e-50, divergence=10000
> left preconditioning
> PC Object:
> type: icc
> ICC: 0 levels of fill
> ICC: factor fill ratio allocated 1
> ICC: factor fill ratio needed 0.636364
> Factored matrix follows
> Matrix Object:
> type=seqsbaij, rows=9, cols=9
> total: nonzeros=21, allocated nonzeros=21
> block size is 1
> linear system matrix = precond matrix:
> Matrix Object:
> type=seqaij, rows=9, cols=9
> total: nonzeros=33, allocated nonzeros=45
> not using I-node routines
> solution:
> 6.37205e-09
> 7.13167e-09
> 7.49911e-09
> -2.48277e-09
> -4.56885e-10
> 0
> 0
> 0
> 0
>
> Code running on local machine:
> rhs:
> 980
> 980
> 980
> -0
> -0
> -0
> -980
> -980
> -980
> jacobian:
> row 0: (0, 20) (1, -10) (3, -10)
> row 1: (0, -10) (1, 30) (2, -10) (4, -10)
> row 2: (1, -10) (2, 20) (5, -10)
> row 3: (0, -10) (3, 30) (4, -10) (6, -10)
> row 4: (1, -10) (3, -10) (4, 40) (5, -10) (7, -10)
> row 5: (2, -10) (4, -10) (5, 30) (8, -10)
> row 6: (3, -10) (6, 20) (7, -10)
> row 7: (4, -10) (6, -10) (7, 30) (8, -10)
> row 8: (5, -10) (7, -10) (8, 20)
> [0] PCSetUp(): Setting up new PC
> [0] PetscCommDuplicate(): Duplicating a communicator 1140850689
> -2080374783 max tags = 2147483647
> [0] PetscCommDuplicate(): Using internal PETSc communicator 1140850689
> -2080374783
> [0] PetscCommDuplicate(): Using internal PETSc communicator 1140850689
> -2080374783
> 0 KSP Residual norm 2.505507810276e+02
> 1 KSP Residual norm 3.596555656581e+01
> 2 KSP Residual norm 2.632672485513e+00
> 3 KSP Residual norm 1.888285055287e-01
> 4 KSP Residual norm 7.029433008806e-03
> 5 KSP Residual norm 3.635267067420e-14
> [0] KSPDefaultConverged(): Linear solver has converged. Residual norm
> 3.63527e-14 is less than relative tolerance 1e-07 times initial right
> hand side norm 250.551 at iteration 5
> KSP Object:
> type: cg
> maximum iterations=10000, initial guess is zero
> tolerances: relative=1e-07, absolute=1e-50, divergence=10000
> left preconditioning
> PC Object:
> type: icc
> ICC: 0 levels of fill
> ICC: factor fill ratio allocated 1
> ICC: factor fill ratio needed 0.636364
> Factored matrix follows
> Matrix Object:
> type=seqsbaij, rows=9, cols=9
> total: nonzeros=21, allocated nonzeros=21
> block size is 1
> linear system matrix = precond matrix:
> Matrix Object:
> type=seqaij, rows=9, cols=9
> total: nonzeros=33, allocated nonzeros=45
> not using I-node routines
> solution:
> 92.3023
> 92.3023
> 92.3023
> -5.69767
> -5.69767
> -5.69767
> -103.698
> -103.698
> -103.698
>
>
>
>
More information about the petsc-users
mailing list