[petsc-users] problems using ilu dt of superlu

Matthew Knepley knepley at gmail.com
Wed May 30 13:35:16 CDT 2012


On Wed, May 30, 2012 at 2:29 PM, Tobias Neckel <neckel at in.tum.de> wrote:

> Hello,
>
> we recently upgraded from 3.0.0-p11 to 3.2-p7 and are facing a problem in
> one of our test cases: We use seqaij matrix format and GMRES with ILU dt.
>
> Knowing that the ILUdt has been replaced by superlu's version, we
> therefore configured our petsc installation with
> ---
> -PETSC_ARCH=petsc-3.2-serial --prefix=/work_fast/liebm/**petsc-3.2-serial/
> --with-debugging=0 --with-cxx=gcc --with-fc=gfortran --with-cc=gcc
> --download-superlu=1 --with-mpi=0
> ----
>

I know it involves another build, but turning on debugging is really
essential for tracking down errors like this. Can you
reconfigure with debugging under a different PETSC_ARCH and send the trace?

  Thanks

     Matt


> resulting in a nicely compiled lib/libsuperlu_4.2.a.
>
> Also, ex52.c works (with ILU as a solver).
>
> Hence, in our code, we replaced the former single-line command
>        _ierr = PCFactorSetDropTolerance(...**stuff...);
> by the code of ex52.c:
>        Mat F;
>        _ierr = PCFactorSetMatSolverPackage(**pc,MATSOLVERSUPERLU);
>        _ierr = PCFactorSetUpMatSolverPackage(**pc);/* call MatGetFactor()
> to create F */
>        _ierr = PCFactorGetMatrix(pc,&F);
>        _ierr = MatSuperluSetILUDropTol(F,1.**0e-3);
>
> After some smooting, the compile and link works now fine, but running the
> test case results in a segfault; here is the corresponding valgrind output:
>
> ==17405== Invalid read of size 4
> ==17405==    at 0x1B15245: MatGetFactor (in /work_fast/liebm/workspace/p1/
> **src/build/debug/dim2/fluid/**peano-fluid)
> ==17405==    by 0x1CDF709: PCFactorSetUpMatSolverPackage_**Factor (in
> /work_fast/liebm/workspace/p1/**src/build/debug/dim2/fluid/**peano-fluid)
> ==17405==    by 0x1B3F7F9: PCFactorSetUpMatSolverPackage (in
> /work_fast/liebm/workspace/p1/**src/build/debug/dim2/fluid/**peano-fluid)
> ==17405==    by 0x19284F5: peano::petsc::**PETScNonLinearSolver::**setupLinearSolver(_p_KSP*&,
> std::string, std::string, double, double, int)
> (PETScNonLinearSolver.cpp:365)
> ==17405==    by 0x1926DF2: peano::petsc::**PETScNonLinearSolver::**initialize(int,
> int, int) (PETScNonLinearSolver.cpp:242)
> ==17405==    by 0x901225: peano::fluid::**NonLinearTrivialgridFluidSimul**
> ation::**implementSetInitialValue(bool, double, int, double) (**
> NonLinearTrivialgridFluidSimul**ation.cpp:540)
> ==17405==    by 0x17AE3C8: peano::fluid::**SteadyStateIntegrationTestChan*
> *nel::**testTrivialgrid3x3ComputeNavie**rStokesFunction() (**
> SteadyStateIntegrationTestChan**nel.cpp:114)
> ==17405==    by 0x17B28A8: peano::fluid::**SteadyStateIntegrationTestChan*
> *nel::run() (**SteadyStateIntegrationTestChan**nel.cpp:484)
> ==17405==    by 0x19BDCB3: tarch::tests::**TestCaseCollection::run()
> (TestCaseCollection.cpp:42)
> ==17405==    by 0x19BDCB3: tarch::tests::**TestCaseCollection::run()
> (TestCaseCollection.cpp:42)
> ==17405==    by 0x408A9D: peano::**IntegrationTestCaseRunner::**
> run(tarch::configuration::**IntegrationTestConfiguration const&)
> (IntegrationTestCaseRunner.**cpp:127)
> ==17405==    by 0x412C2E: main (main.cpp:205)
> ==17405==  Address 0x1e8 is not stack'd, malloc'd or (recently) free'd
> ==17405==
> [0]PETSC ERROR: ------------------------------**
> ------------------------------**------------
> [0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation,
> probably memory access out of range
> [0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
> [0]PETSC ERROR: or see http://www.mcs.anl.gov/petsc/**
> petsc-as/documentation/faq.**html#valgrind[0]PETSC<http://www.mcs.anl.gov/petsc/petsc-as/documentation/faq.html#valgrind[0]PETSC>ERROR: or try
> http://valgrind.org on GNU/linux and Apple Mac OS X to find memory
> corruption errors
> [0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and
> run
> [0]PETSC ERROR: to get more information on the crash.
> [0]PETSC ERROR: --------------------- Error Message
> ------------------------------**------
> [0]PETSC ERROR: Signal received!
> [0]PETSC ERROR: ------------------------------**
> ------------------------------**------------
> [0]PETSC ERROR: Petsc Release Version 3.2.0, Patch 7, Thu Mar 15 09:30:51
> CDT 2012
> [0]PETSC ERROR: See docs/changes/index.html for recent updates.
> [0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.
> [0]PETSC ERROR: See docs/index.html for manual pages.
> [0]PETSC ERROR: ------------------------------**
> ------------------------------**------------
> [0]PETSC ERROR: ./build/debug/dim2/fluid/**peano-fluid on a petsc-3.2
> named atsccs58 by liebm Wed May 30 20:06:30 2012
> [0]PETSC ERROR: Libraries linked from /work_fast/liebm/petsc-3.2-**
> serial/lib
> [0]PETSC ERROR: Configure run at Tue May 29 21:05:34 2012
> [0]PETSC ERROR: Configure options --PETSC_ARCH=petsc-3.2-serial
> --prefix=/work_fast/liebm/**petsc-3.2-serial/ --with-debugging=0
> --with-cxx=gcc --with-fc=gfortran --with-cc=gcc --download-superlu=1
> --with-mpi=0
> [0]PETSC ERROR: ------------------------------**
> ------------------------------**------------
> [0]PETSC ERROR: User provided function() line 0 in unknown directory
> unknown file
>
>
> Did we miss something (keeping in mind that we use ILU now as a
> preconditioner in combination with GMRES)? Any suggestions are warmly
> welcome ;-).
>
> Thanks in advance and best regards
> Tobias
>



-- 
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which their
experiments lead.
-- Norbert Wiener
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120530/f565147e/attachment.html>


More information about the petsc-users mailing list