Problem in convergence after upgrade to petsc 3.0.0

Barry Smith bsmith at mcs.anl.gov
Fri Jan 30 23:22:14 CST 2009


    You can mail the binary file to petsc-maint at mcs.anl.gov and tell  
me how many processes you run
on.

    Barry

On Jan 30, 2009, at 11:19 PM, Randall Mackie wrote:

> 	Barry,
>
> 	Some further hints:
>
> 	BCGSL doesn't give the same results	
> 	BCGS does better, but not exactly the same results	
> 	BICG gives same results
> 	GMRES gives same results
> 	IBCGS under 3.0.0-p2 bombs out with a fatal error in MPI_Allreduce.
>
> 	Randy
>
>
> Randall Mackie wrote:
>>    Barry,
>>    I've run ex10 from 2.3.3-p11 and from 3.0.0-p2 on the same  
>> binaryoutput
>> using the same parameters input to ex10 (ksp=bcgsl and pc=bjacobi,  
>> sub_pc=ilu)
>> and the convergence is different. Note, this is the binaryoutput  
>> from the
>> v 2.3.3-p11.
>> Here is the convergence for ex10 from 2.3.3-p11:
>> [rmackie ~/SPARSE/PETsc/petsc-2.3.3-p11/src/ksp/ksp/examples/ 
>> tutorials] ./cmd_test
>>  0 KSP preconditioned resid norm 2.434324107505e-05 true resid norm  
>> 3.334159901684e-02 ||Ae||/||Ax|| 1.000000000000e+00
>>  2 KSP preconditioned resid norm 4.170258940641e-07 true resid norm  
>> 1.624814448703e+04 ||Ae||/||Ax|| 4.873234927583e+05
>>  4 KSP preconditioned resid norm 8.984963207977e-08 true resid norm  
>> 2.848180153976e+04 ||Ae||/||Ax|| 8.542422193181e+05
>>  6 KSP preconditioned resid norm 3.526062648105e-08 true resid norm  
>> 1.884591980560e+04 ||Ae||/||Ax|| 5.652374319564e+05
>>  8 KSP preconditioned resid norm 1.241153849592e-08 true resid norm  
>> 1.045401827970e+04 ||Ae||/||Ax|| 3.135427990247e+05
>> 10 KSP preconditioned resid norm 5.141701606491e-09 true resid norm  
>> 5.371087738119e+03 ||Ae||/||Ax|| 1.610926859088e+05
>> 12 KSP preconditioned resid norm 2.591522726108e-09 true resid norm  
>> 3.519633363751e+03 ||Ae||/||Ax|| 1.055628244456e+05
>> 14 KSP preconditioned resid norm 1.452300847705e-09 true resid norm  
>> 2.509415501645e+03 ||Ae||/||Ax|| 7.526380184636e+04
>> 16 KSP preconditioned resid norm 8.978785776773e-10 true resid norm  
>> 1.872610647707e+03 ||Ae||/||Ax|| 5.616439231845e+04
>> 18 KSP preconditioned resid norm 5.743601707920e-10 true resid norm  
>> 1.266421550645e+03 ||Ae||/||Ax|| 3.798322779917e+04
>> 20 KSP preconditioned resid norm 3.678705188041e-10 true resid norm  
>> 7.536064149571e+02 ||Ae||/||Ax|| 2.260258767363e+04
>> 22 KSP preconditioned resid norm 2.687340247327e-10 true resid norm  
>> 5.533061905955e+02 ||Ae||/||Ax|| 1.659507062981e+04
>> 24 KSP preconditioned resid norm 2.142070779181e-10 true resid norm  
>> 4.684485692902e+02 ||Ae||/||Ax|| 1.404997309978e+04
>> 26 KSP preconditioned resid norm 1.927583902818e-10 true resid norm  
>> 6.146993326148e+02 ||Ae||/||Ax|| 1.843640829296e+04
>> 28 KSP preconditioned resid norm 1.330050553611e-10 true resid norm  
>> 4.217422387701e+02 ||Ae||/||Ax|| 1.264913055181e+04
>> 30 KSP preconditioned resid norm 1.125778226987e-10 true resid norm  
>> 3.058702983977e+02 ||Ae||/||Ax|| 9.173834111652e+03
>> 32 KSP preconditioned resid norm 8.786382414490e-11 true resid norm  
>> 2.001904013306e+02 ||Ae||/||Ax|| 6.004223169665e+03
>> 34 KSP preconditioned resid norm 6.396029789854e-11 true resid norm  
>> 1.761414838880e+02 ||Ae||/||Ax|| 5.282934504701e+03
>> 36 KSP preconditioned resid norm 5.462116905743e-11 true resid norm  
>> 1.540860953921e+02 ||Ae||/||Ax|| 4.621436881724e+03
>> 38 KSP preconditioned resid norm 5.410616131680e-11 true resid norm  
>> 1.910613970561e+02 ||Ae||/||Ax|| 5.730420936308e+03
>> 40 KSP preconditioned resid norm 7.946054076400e-11 true resid norm  
>> 2.743761797072e+02 ||Ae||/||Ax|| 8.229244781230e+03
>> 42 KSP preconditioned resid norm 3.519925335531e-11 true resid norm  
>> 1.022381658728e+02 ||Ae||/||Ax|| 3.066384603244e+03
>> 42 KSP preconditioned resid norm 3.519925335531e-11 true resid norm  
>> 1.022381658728e+02 ||Ae||/||Ax|| 3.066384603244e+03
>> Number of iterations =  42
>> Here is the convergence for ex10 from 3.0.0-p2:
>> rmackie ~/SPARSE/PETsc/petsc-3.0.0-p2/src/ksp/ksp/examples/ 
>> tutorials] ./cmd_test
>>  0 KSP preconditioned resid norm 2.434324107505e-05 true resid norm  
>> 3.334159901684e-02 ||Ae||/||Ax|| 1.000000000000e+00
>>  2 KSP preconditioned resid norm 4.798562862178e-07 true resid norm  
>> 1.642225014976e+04 ||Ae||/||Ax|| 4.925453677690e+05
>>  4 KSP preconditioned resid norm 1.587355624039e-07 true resid norm  
>> 3.502938376404e+04 ||Ae||/||Ax|| 1.050620989904e+06
>>  6 KSP preconditioned resid norm 8.015528577103e-08 true resid norm  
>> 2.536595627800e+04 ||Ae||/||Ax|| 7.607900348506e+05
>>  8 KSP preconditioned resid norm 3.039306325625e-08 true resid norm  
>> 1.253662335500e+04 ||Ae||/||Ax|| 3.760054623856e+05
>> 10 KSP preconditioned resid norm 1.729327127129e-08 true resid norm  
>> 8.080934369743e+03 ||Ae||/||Ax|| 2.423679309940e+05
>> 12 KSP preconditioned resid norm 1.039787850500e-08 true resid norm  
>> 4.777791224801e+03 ||Ae||/||Ax|| 1.432982030162e+05
>> 14 KSP preconditioned resid norm 5.025780191774e-09 true resid norm  
>> 3.147651686153e+03 ||Ae||/||Ax|| 9.440614064618e+04
>> 16 KSP preconditioned resid norm 3.311781967950e-09 true resid norm  
>> 2.688053658600e+03 ||Ae||/||Ax|| 8.062161797467e+04
>> 18 KSP preconditioned resid norm 5.621276662229e-09 true resid norm  
>> 3.098810918425e+03 ||Ae||/||Ax|| 9.294128085637e+04
>> 20 KSP preconditioned resid norm 1.184533040734e-08 true resid norm  
>> 5.469874887175e+03 ||Ae||/||Ax|| 1.640555656737e+05
>> 22 KSP preconditioned resid norm 2.494642590524e-08 true resid norm  
>> 1.003335643955e+04 ||Ae||/||Ax|| 3.009260723962e+05
>> 24 KSP preconditioned resid norm 5.136091311727e-08 true resid norm  
>> 1.828432513826e+04 ||Ae||/||Ax|| 5.483937686680e+05
>> 26 KSP preconditioned resid norm 9.627430082715e-08 true resid norm  
>> 1.175348501769e+04 ||Ae||/||Ax|| 3.525171366783e+05
>> 28 KSP preconditioned resid norm 6.409712928943e-08 true resid norm  
>> 5.524687582334e+03 ||Ae||/||Ax|| 1.656995388716e+05
>> 30 KSP preconditioned resid norm 6.013091685526e-07 true resid norm  
>> 1.371019320496e+04 ||Ae||/||Ax|| 4.112038297274e+05
>> 32 KSP preconditioned resid norm 7.026562454712e-07 true resid norm  
>> 1.053982255306e+04 ||Ae||/||Ax|| 3.161162890759e+05
>> 34 KSP preconditioned resid norm 4.086784421188e-07 true resid norm  
>> 5.503180350963e+03 ||Ae||/||Ax|| 1.650544818856e+05
>> 36 KSP preconditioned resid norm 1.651444280250e-06 true resid norm  
>> 1.984011183420e+04 ||Ae||/||Ax|| 5.950557987388e+05
>> 38 KSP preconditioned resid norm 1.058319572456e-06 true resid norm  
>> 1.403784173466e+04 ||Ae||/||Ax|| 4.210308488073e+05
>> 40 KSP preconditioned resid norm 4.341084013969e-05 true resid norm  
>> 3.837773616917e+05 ||Ae||/||Ax|| 1.151046659453e+07
>> 42 KSP preconditioned resid norm 4.190225826231e-07 true resid norm  
>> 6.768382935039e+03 ||Ae||/||Ax|| 2.030011497535e+05
>> 44 KSP preconditioned resid norm 1.054511038261e-06 true resid norm  
>> 4.966771429542e+03 ||Ae||/||Ax|| 1.489662036615e+05
>> 46 KSP preconditioned resid norm 5.351004248086e-07 true resid norm  
>> 5.112611747101e+03 ||Ae||/||Ax|| 1.533403285343e+05
>> 48 KSP preconditioned resid norm 7.104477128923e-07 true resid norm  
>> 5.478002736962e+03 ||Ae||/||Ax|| 1.642993407183e+05
>> 50 KSP preconditioned resid norm 1.162050733932e-06 true resid norm  
>> 5.395393687747e+03 ||Ae||/||Ax|| 1.618216836278e+05
>> When I output binaryoutput using my code compiled under 3.0.0-p2  
>> and run ex10, I get exactly
>> the same output as above. In other words, the matrix/rhs are  
>> exactly the same (as they
>> should be since I didn't change anything), and something about  
>> 3.0.0-p2 using BCGSL and ILU
>> is not working correctly.
>> I changed ksptype to gmres, and I get the same convergence for both  
>> 2.3.3-p11 and for
>> 3.0.0-p2. Therefore, I conclude that bcgsl (PCBCGSL) is not working  
>> correctly under 3.0.0-p2.
>> Randy
>> Barry Smith wrote:
>>>
>>>  Run the old code with -ksp_view_binary this will create a file  
>>> called binaryoutput; you can then
>>> run src/ksp/ksp/examples/tutorials/ex10.c using that input file.  
>>> Use the ex10 from the old version
>>> of PETSc and then the ex10 from the new version. Do they have they  
>>> same convergence?
>>> Now run the new code (that is build your code with petsc-3.0.)  
>>> with -ksp_view_binary and run that
>>> binaryoutput file with the old and new ex10 to see what happens.
>>>
>>>   Basically there are two possible changes with the change in the  
>>> version:
>>> 1) the matrix/right hand side has changed or
>>> 2) the solver has changed to behave differently.
>>>
>>>   By running the four cases you can start to get a handle on what  
>>> has actually changed, this will
>>> lead you to what needs to be investigated next.
>>>
>>>   Barry
>>>
>>> On Jan 30, 2009, at 8:01 PM, Randall Mackie wrote:
>>>
>>>> I just downloaded and compiled Petsc 3.0.0-p2, and after making  
>>>> some changes
>>>> in my code to specify the correct location of the include files,  
>>>> finally
>>>> got everything to compile okay.
>>>>
>>>> Now, I'm trying to run my test problem, and it's not converging.  
>>>> When I say
>>>> not converging, the first line (with ksp_monitor_true_residual)  
>>>> shows that
>>>> the true and preconditioned residuals are the same as before, but  
>>>> immediately
>>>> thereafter, the preconditioned residual fails to go below 1e-8  
>>>> whereas before
>>>> it quickly went down to 1e-15.
>>>>
>>>> The options in my command file are:
>>>>
>>>> -ksp_type bcgsl
>>>> -pc_type bjacobi
>>>> -sub_pc_type ilu
>>>> -sub_pc_factor_levels 3
>>>> -sub_pc_factor_fill 6
>>>>
>>>>
>>>> The only thing I see in the Change notes are that the ILU  
>>>> defaults to shifting
>>>> so that it's p.d. but I don't see an easy way to turn this off by  
>>>> the command
>>>> line to see if that's the problem. I tried to do it in my  
>>>> program, but it's unclear
>>>> if I did that correctly.
>>>>
>>>> Any suggestions?
>>>>
>>>> Thanks, Randy
>>>



More information about the petsc-users mailing list