[petsc-users] no-debug-mode problem

Longxiang Chen suifengls at gmail.com
Fri Jun 28 15:30:35 CDT 2013


A is formed by three arrays IA[NZ], JA[NZ] and VA[NZ]
IA[i] is row index, JA[i] is column index and VA[i] is the value in (IA[i],
JA[i]).

For intel compiler:
when I use --with-debugging=0, the VA[] is not correct. I don't know what
kind of optimization it does.

A[0][0] = 1.000000e-25
A[0][1] = 0.000000e+00
A[0][2] = 0.000000e+00
A[1][0] = 0.000000e+00
A[1][1] = -3.479028e+02
A[1][2] = 0.000000e+00
A[2][0] = 0.000000e+00
A[2][1] = 0.000000e+00
A[2][2] = -3.479028e+02
A[3][3] = 1.000000e-25
...

CORRECT:
A[0][0] = -2.961372e-07
A[0][1] = 1.160201e+02
A[0][2] = 2.744589e+02
A[1][0] = 0.000000e+00
A[1][1] = -3.479028e+02
A[1][2] = 0.000000e+00
A[2][0] = -8.332708e-08
A[2][1] = 0.000000e+00
A[2][2] = -3.479028e+02
A[3][3] = -3.027917e-07
...

For gcc-4.7.2:
when I use --with-debugging=0, the fortran main function cannot read input
data before it starts the LOOP, the ksp_solver() is called inside the loop.
===>
 ERRONEOUS DATA INITIALIZATION            STOP EXECUTION---------

Best regards,
Longxiang Chen

Do something everyday that gets you closer to being done.



On Thu, Jun 27, 2013 at 6:42 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> On Jun 27, 2013, at 2:23 PM, Tabrez Ali <stali at geology.wisc.edu> wrote:
>
> > Fortran can be tricky.
> >
> > Try to run the program in valgrind and/or recheck all your arguments. I
> once forgot MatAssemblyType in the call to MatAssembly and the code still
> ran fine on one machine but failed on other. It is better to test with at
> least 2-3 compilers (GNU, Solaris and Open64 Fortran/C compilers are all
> free on Linux).
> >
> > T
>
>    You can also run both versions with -snes_monitor -ksp_monitor and see
> if they both start out the same way.
>
>    Barry
>
> >
> >
> > On 27.06.2013 14:52, Longxiang Chen wrote:
> >> Dear all,
> >>
> >> I use ksp_solver to solve Ax=b, where A is from an outer loop of PDE.
> >> Under debug mode(default), it solves the problem in about 4000
> >> iterations.
> >> And the final answer is correct (comparing to another solver).
> >>
> >> I use intel compiler.
> >> The program is in Fortran (by mpif90), except the solver is in c (by
> >> mpicc).
> >>
> >> However, when I re-configure with --with-debugging=0 (the only
> >> change),
> >> the program terminates in about 30 iterations with the wrong final
> >> solution.
> >>
> >> Thank you.
> >>
> >> Best regards,
> >> Longxiang Chen
> >>
> >> Do something everyday that gets you closer to being done.
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20130628/475329a9/attachment.html>


More information about the petsc-users mailing list