On Sun, May 6, 2012 at 7:28 AM, Alexander Grayver <span dir="ltr"><<a href="mailto:agrayver@gfz-potsdam.de" target="_blank">agrayver@gfz-potsdam.de</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I use KSP and random rhs to compute largest singular value:<br></blockquote><div><br></div><div>1) Is this the whole program? If not, this can be caused by memory corruption somewhere else. This is what I suspect.</div><div>
<br></div><div>2) You can put in CHKMEMQ; throughout the code to find exactly where the memory corruption happens.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  ! create solver and set options for singular value estimation<br>
  call KSPCreate(MPI_COMM_WORLD,ksp,<u></u>ierr);CHKERRQ(ierr)<br>
  call KSPSetType(ksp,KSPGMRES,ierr);<u></u>CHKERRQ(ierr)<br>
  call KSPSetTolerances(ksp,<u></u>solvertol,PETSC_DEFAULT_<u></u>DOUBLE_PRECISION,PETSC_<u></u>DEFAULT_DOUBLE_PRECISION,its,<u></u>ierr);CHKERRQ(ierr)<br>
  call KSPGMRESSetRestart(ksp, its, ierr);CHKERRQ(ierr)<br>
  call KSPSetComputeSingularValues(<u></u>ksp, flg, ierr);CHKERRQ(ierr)<br>
  call KSPSetFromOptions(ksp,ierr);<u></u>CHKERRQ(ierr)<br>
<br>
  ! generate random RHS<br>
  call PetscRandomCreate(PETSC_COMM_<u></u>WORLD,rctx,ierr)<br>
  call PetscRandomSetFromOptions(<u></u>rctx,ierr)<br>
  call VecSetRandom(b,rctx,ierr)<br>
<br>
  !no preconditioning<br>
  call KSPGetPC(ksp,pc,ierr);CHKERRQ(<u></u>ierr)<br>
  call PCSetType(pc,PCNONE,ierr);<u></u>CHKERRQ(ierr)<br>
  call KSPSetOperators(ksp,A,A,SAME_<u></u>PRECONDITIONER,ierr);CHKERRQ(<u></u>ierr)<br>
  !solve system<br>
  call KSPSolve(ksp,b,x,ierr);<u></u>CHKERRQ(ierr)<br>
  call KSPComputeExtremeSingularValue<u></u>s(ksp, smax, smin, ierr);CHKERRQ(ierr)<br>
<br>
  call KSPDestroy(ksp,ierr);CHKERRQ(<u></u>ierr)<br>
<br>
However it crashes:<br>
<br>
[1]PETSC ERROR: ------------------------------<u></u>------------------------------<u></u>------------<br>
[1]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range<br>
[1]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger<br>
[1]PETSC ERROR: or see <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind[1]PETSC" target="_blank">http://www.mcs.anl.gov/petsc/<u></u>documentation/faq.html#<u></u>valgrind[1]PETSC</a> ERROR: or try <a href="http://valgrind.org" target="_blank">http://valgrind.org</a> on GNU/linux and Apple Mac OS X to find memory corruption errors<br>

[1]PETSC ERROR: PetscMallocValidate: error detected at  PetscDefaultSignalHandler() line 157 in /home/lib/petsc-dev1/src/sys/<u></u>error/signal.c<br>
[1]PETSC ERROR: Memory at address 0x4aa3f00 is corrupted<br>
[1]PETSC ERROR: Probably write past beginning or end of array<br>
[1]PETSC ERROR: Last intact block allocated in KSPSetUp_GMRES() line 73 in /home/lib/petsc-dev1/src/ksp/<u></u>ksp/impls/gmres/gmres.c<br>
[1]PETSC ERROR: --------------------- Error Message ------------------------------<u></u>------<br>
[1]PETSC ERROR: Memory corruption!<br>
[1]PETSC ERROR:  !<br>
[1]PETSC ERROR: ------------------------------<u></u>------------------------------<u></u>------------<br>
[1]PETSC ERROR: Petsc Development HG revision: f3c119f7ddbfee243b51907a90acab<u></u>15127ccb39  HG Date: Sun Apr 29 21:37:29 2012 -0500<br>
[1]PETSC ERROR: See docs/changes/index.html for recent updates.<br>
[1]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>
[1]PETSC ERROR: See docs/index.html for manual pages.<br>
[1]PETSC ERROR: ------------------------------<u></u>------------------------------<u></u>------------<br>
[1]PETSC ERROR: /home/prog on a openmpi-i named node207 by user Sun May  6 12:58:24 2012<br>
[1]PETSC ERROR: Libraries linked from /home/lib/petsc-dev1/openmpi-<u></u>intel-complex-debug-f/lib<br>
[1]PETSC ERROR: Configure run at Mon Apr 30 10:20:49 2012<br>
[1]PETSC ERROR: Configure options --with-blacs-include=/opt/<u></u>intel/Compiler/11.1/072/mkl/<u></u>include --with-blacs-lib=/opt/intel/<u></u>Compiler/11.1/072/mkl/lib/<u></u>em64t/libmkl_blacs_openmpi_<u></u>lp64.a --with-blas-lapack-lib="[/opt/<u></u>intel/Compiler/11.1/072/mkl/<u></u>lib/em64t/libmkl_intel_lp64.a,<u></u>/opt/intel/Compiler/11.1/072/<u></u>mkl/lib/em64t/libmkl_intel_<u></u>thread.a,/opt/intel/Compiler/<u></u>11.1/072/mkl/lib/em64t/libmkl_<u></u>core.a,/opt/intel/Compiler/11.<u></u>1/072/lib/intel64/libiomp5.a]" --with-fortran-interfaces=1 --with-mpi-dir=/opt/mpi/intel/<u></u>openmpi-1.4.2 --with-petsc-arch=openmpi-<u></u>intel-complex-debug-f --with-precision=double --with-scalapack-include=/opt/<u></u>intel/Compiler/11.1/072/mkl/<u></u>include --with-scalapack-lib=/opt/<u></u>intel/Compiler/11.1/072/mkl/<u></u>lib/em64t/libmkl_scalapack_<u></u>lp64.a --with-scalar-type=complex --with-x=0 PETSC_ARCH=openmpi-intel-<u></u>complex-debug-f<br>

[1]PETSC ERROR: ------------------------------<u></u>------------------------------<u></u>------------<br>
[1]PETSC ERROR: PetscMallocValidate() line 138 in /home/lib/petsc-dev1/src/sys/<u></u>memory/mtr.c<br>
[1]PETSC ERROR: PetscDefaultSignalHandler() line 157 in /home/lib/petsc-dev1/src/sys/<u></u>error/signal.c<br>
<br>
<br>
Call stack from debugger:<br>
<br>
opal_memory_ptmalloc2_int_<u></u>free, FP=7fffd4765300<br>
opal_memory_ptmalloc2_free_<u></u>hook, FP=7fffd4765330<br>
PetscFreeAlign,      FP=7fffd4765370<br>
PetscTrFreeDefault,  FP=7fffd4765520<br>
KSPReset_GMRES,      FP=7fffd4765740<br>
KSPReset,            FP=7fffd4765840<br>
KSPDestroy,          FP=7fffd47659a0<br>
kspdestroy_,         FP=7fffd47659d0<br>
<br>
<br>
Any ideas?<br>
<br>
Thanks.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
Regards,<br>
Alexander<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>