Thanks Jed,<div><br></div><div>I run code with options: -malloc_debug and  -malloc_dump and get the following results:</div><div><br></div><div><div>[0]Total space allocated 217984 bytes</div><div>[ 0]16 bytes PetscStrallocpy() line 186 in /home/fdkong/math/petsc-3.3-p7/src/sys/utils/str.c</div>
<div>      [0]  PetscObjectChangeTypeName() line 129 in /home/fdkong/math/petsc-3.3-p7/src/sys/objects/pname.c</div><div>      [0]  ISSetType() line 77 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/interface/isreg.c</div><div>
      [0]  ISCreateGeneral() line 437 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/impls/general/general.c</div><div>      [0]  SpmcsDMMeshGetStratumIS() line 1375 in spmcsdmmesh.cpp</div><div>      [0]  ComputeMatrix() line 279 in linearElasticity3d.cpp</div>
<div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div><div>      [0]  PCSetUp() line 810 in /home/fdkong/math/petsc-3.3-p7/src/ksp/pc/interface/precon.c</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div>
<div>      [0]  KSPSetFromOptions() line 284 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itcl.c</div><div>[ 0]32 bytes ISCreate_General() line 516 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/impls/general/general.c</div>
<div>      [0]  ISSetType() line 77 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/interface/isreg.c</div><div>      [0]  ISCreateGeneral() line 437 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/impls/general/general.c</div>
<div>      [0]  SpmcsDMMeshGetStratumIS() line 1375 in spmcsdmmesh.cpp</div><div>      [0]  ComputeMatrix() line 279 in linearElasticity3d.cpp</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div>
<div>      [0]  PCSetUp() line 810 in /home/fdkong/math/petsc-3.3-p7/src/ksp/pc/interface/precon.c</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div><div>      [0]  KSPSetFromOptions() line 284 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itcl.c</div>
<div>[ 0]128 bytes ISCreate() line 43 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/interface/isreg.c</div><div>      [0]  ISCreateGeneral() line 437 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/impls/general/general.c</div>
<div>      [0]  SpmcsDMMeshGetStratumIS() line 1375 in spmcsdmmesh.cpp</div><div>      [0]  ComputeMatrix() line 279 in linearElasticity3d.cpp</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div>
<div>      [0]  PCSetUp() line 810 in /home/fdkong/math/petsc-3.3-p7/src/ksp/pc/interface/precon.c</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div><div>      [0]  KSPSetFromOptions() line 284 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itcl.c</div>
<div>[ 0]64 bytes ISCreate() line 43 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/interface/isreg.c</div><div>      [0]  ISCreateGeneral() line 437 in /home/fdkong/math/petsc-3.3-p7/src/vec/is/impls/general/general.c</div>
<div>      [0]  SpmcsDMMeshGetStratumIS() line 1375 in spmcsdmmesh.cpp</div><div>      [0]  ComputeMatrix() line 279 in linearElasticity3d.cpp</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div>
<div>      [0]  PCSetUp() line 810 in /home/fdkong/math/petsc-3.3-p7/src/ksp/pc/interface/precon.c</div><div>      [0]  KSPSetUp() line 182 in /home/fdkong/math/petsc-3.3-p7/src/ksp/ksp/interface/itfunc.c</div><div><br></div>
<div>Whether it means that I malloced some objects and then I did not free them? Or something else? Or it is normal?</div><br><div class="gmail_quote">On Mon, Jun 3, 2013 at 9:04 PM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">Fande Kong <<a href="mailto:fande.kong@colorado.edu">fande.kong@colorado.edu</a>> writes:<br>
<br>
> Hi all,<br>
><br>
> I can correctly run my application based on the petsc ( --with-debugging =<br>
> yes). But the same code encounters memory crash when it runs with optimized<br>
> version ( --with-debugging = no) . The detailed information for errors and<br>
> results is attached. The logs for configure and make are also attached.<br>
><br>
><br>
> Now, there are several questions I want to know<br>
><br>
> (1) What are differences between debug version and optimized version in<br>
> terms of memory management and communication?<br>
><br>
> (2) I print some memory usages. Why does the optimized version cost twice<br>
> more memory than the debug version?<br>
<br>
</div>It shouldn't.  What interface are you using to obtain memory usage?  I<br>
suggest fixing the errors before worrying about this.<br>
<br>
You should figure out how to reproduce the issue on a smaller problem<br>
size and with fewer processes.  That reduction alone may tell you where<br>
the issue occurs.<br>
<div class="im"><br>
> (3) How to debug the optimized code to fix memory issue?<br>
<br>
</div>Is the debug version currently clean when run with -malloc_dump and<br>
clean when run under valgrind?  If so, I would configure<br>
<br>
  --with-debugging=0 COPTFLAGS='-O0 -g'<br>
<br>
this will take the "optimized" code path, but will have full information<br>
when run in the debugger.  You'll need a smaller problem size and fewer<br>
processes (preferably one or two) to do this effectively.<br>
<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Fande Kong</div>Department of Computer Science<div>University of Colorado at Boulder</div>
</div>