Error codes from external packages

Matthew Knepley knepley at gmail.com
Tue Jun 3 09:32:14 CDT 2008


On Tue, Jun 3, 2008 at 6:53 AM, Lars Rindorf
<Lars.Rindorf at teknologisk.dk> wrote:
> Hi Matthew
>
> I've a couple of questions regarding umfpack and petsc. I have a version of the program that I use. This program uses complex scalars and umfpack in petsc, but when I try myself to compile petsc with umfpack and complex numbers, petsc gives an error saying that umfpack and complex scalars is not yet implemented. Is that correct? Is there a version of petsc that allows complex scalars and umfpack?

This question came up before on this list. We do not support complex
with UMFPACK. I cannot remember the reason, but there was a problem
with the complex extension.

> Secondly, I'm still having problems with umfpack running out of memory (umfpack error -1). I have played around with petsc memory allocation in MatSetAIJSetPreallocation and with umfpack Control[UMFPACK_ALLOC_INIT] and it makes no difference. I have try it also with both Intel mkl blas and petsc default blas, and that made no difference either. Do you have any ideas where to look for the error?

Are you trying to go beyond 32-bits? If so, you would need an OS that
will allocate more than 2G to a process, like 64-bit Linux.

  Matt

> The largest succesful simulation gives the following petsc output:
> KSP Object:
>  type: preonly
>  maximum iterations=10000, initial guess is zero
>  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000
>  left preconditioning
> PC Object:
>  type: lu
>    LU: out-of-place factorization
>      matrix ordering: nd
>    LU: tolerance for zero pivot 1e-12
>    LU: factor fill ratio needed 0
>         Factored matrix follows
>        Matrix Object:
>          type=umfpack, rows=118636, cols=118636
>          total: nonzeros=0, allocated nonzeros=118636
>            not using I-node routines
>            UMFPACK run parameters:
>              Control[UMFPACK_PRL]: 1
>              Control[UMFPACK_STRATEGY]: 0
>              Control[UMFPACK_DENSE_COL]: 0.2
>              Control[UMFPACK_DENSE_ROW]: 0.2
>              Control[UMFPACK_AMD_DENSE]: 10
>              Control[UMFPACK_BLOCK_SIZE]: 32
>              Control[UMFPACK_2BY2_TOLERANCE]: 0.01
>              Control[UMFPACK_FIXQ]: 0
>              Control[UMFPACK_AGGRESSIVE]: 1
>              Control[UMFPACK_PIVOT_TOLERANCE]: 0.1
>              Control[UMFPACK_SYM_PIVOT_TOLERANCE]: 0.001
>              Control[UMFPACK_SCALE]: 1
>              Control[UMFPACK_ALLOC_INIT]: 0.7
>              Control[UMFPACK_DROPTOL]: 0
>              Control[UMFPACK_IRSTEP]: 0
>              UMFPACK default matrix ordering is used (not the PETSc matrix ordering)
>  linear system matrix = precond matrix:
>  Matrix Object:
>    type=umfpack, rows=118636, cols=118636
>    total: nonzeros=4377120, allocated nonzeros=29659000
>      using I-node routines: found 105980 nodes, limit used is 5
>
> KR, Lars
>
> -----Oprindelig meddelelse-----
> Fra: owner-petsc-users at mcs.anl.gov [mailto:owner-petsc-users at mcs.anl.gov] På vegne af Matthew Knepley
> Sendt: 2. juni 2008 16:33
> Til: petsc-users at mcs.anl.gov
> Emne: Re: Error codes from external packages
>
> On Mon, Jun 2, 2008 at 9:22 AM, Lars Rindorf <Lars.Rindorf at teknologisk.dk> wrote:
>> Hi Matthew
>>
>> I have included the -mat_umfpack_prl parameter, but it does not make any difference. I have checked the spelling with petsc manual. When umfpack crashes it (umfpack_di_numeric) returns an error code. I want to access that code.
>
> Ah, I was checking solve(), not factor(). This is an oversight in the code. I am fixing it in the dev version. We will have a release fairly soon, but you can always get dev for these kinds of bugs fixes quickly.
>
>   Matt
>
>> Here is what petsc returns (with/without -mat_umfpack_prl option):
>> [lhr at localhost notch_patch]$ getdp patch_notch.pro -msh
>> patch_notch_29000.msh -pre res_static -cal  -ksp_type preonly -pc_type lu -mat_type umfpack -mat_umfpack_prl P r e - P r o c e s s i n g . . .
>> E n d   P r e - P r o c e s s i n g
>> P r o c e s s i n g . . .
>> Operation : Generate[A]
>> Info      : Setting System {A,b} to zero
>> Resources : cpu 6.41402 s
>> Operation : Solve[A]
>> PETSc     : N: 136188
>> [0]PETSC ERROR: --------------------- Error Message
>> ------------------------------------
>> [0]PETSC ERROR: Error in external library!
>> [0]PETSC ERROR: umfpack_di_numeric failed!
>> [0]PETSC ERROR:
>> ----------------------------------------------------------------------
>> -- [0]PETSC ERROR: Petsc Release Version 2.3.3, Patch 13, Thu May 15
>> 17:29:26 CDT 2008 HG revision:
>> 4466c6289a0922df26e20626fd4a0b4dd03c8124
>> [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: patch_notch.pro on a linux-gnu named
>> localhost.localdomain by lhr Mon Jun  2 16:03:50 2008 [0]PETSC ERROR:
>> Libraries linked from
>> /home/lhr/Desktop/getdp/petsc/petsc-2.3.3-p13/lib/linux-gnu-c-debug
>> [0]PETSC ERROR: Configure run at Mon Jun  2 15:58:42 2008 [0]PETSC
>> ERROR: Configure options --with-cc=gcc --with-fc=g77
>> --with-blas-lapack-dir=/opt/intel/mkl/10.0.1.014/lib/em64t/
>> --download-mpich=ifneeded --download-umfpack=ifneeded --with-shared=0
>> [0]PETSC ERROR:
>> ----------------------------------------------------------------------
>> -- [0]PETSC ERROR: MatLUFactorNumeric_UMFPACK() line 129 in
>> src/mat/impls/aij/seq/umfpack/umfpack.c
>> [0]PETSC ERROR: MatLUFactorNumeric() line 2227 in
>> src/mat/interface/matrix.c [0]PETSC ERROR: PCSetUp_LU() line 280 in
>> src/ksp/pc/impls/factor/lu/lu.c [0]PETSC ERROR: PCSetUp() line 787 in
>> src/ksp/pc/interface/precon.c [0]PETSC ERROR: KSPSetUp() line 234 in
>> src/ksp/ksp/interface/itfunc.c [0]PETSC ERROR: KSPSolve() line 347 in
>> src/ksp/ksp/interface/itfunc.c [0]PETSC ERROR: User provided
>> function() line 1472 in unknowndirectory/LinAlg_PETSC.c
>> [unset]: aborting job:
>> application called MPI_Abort(MPI_COMM_WORLD, 76) - process 0
>>
>> KR, Lars
>>
>>
>> -----Oprindelig meddelelse-----
>> Fra: owner-petsc-users at mcs.anl.gov
>> [mailto:owner-petsc-users at mcs.anl.gov] På vegne af Matthew Knepley
>> Sendt: 2. juni 2008 15:07
>> Til: petsc-users at mcs.anl.gov
>> Emne: Re: Error codes from external packages
>>
>> On Mon, Jun 2, 2008 at 7:17 AM, Lars Rindorf <Lars.Rindorf at teknologisk.dk> wrote:
>>> Dear all
>>>
>>> If I want to know the error codes of an external package that
>>> crashes, then what can I do?
>>
>> We call
>>
>>  umfpack_zl_report_status()
>>
>> with the UMFPACK status code in the event of a failure. Printing for this is controlled by the -mat_umfpack_prl option I believe.
>>
>>   Matt
>>
>>> The problem arises with umfpack when the size of the matrix is more
>>> than 118000x118000, corresponding to 2.4 Gb memory consumption. It
>>> simply returns "umfpack_di_numeric" (factorization of a real matrix) failed.
>>> Has anybody else experienced this?
>>>
>>> KR, Lars
>>>
>>>
>>
>>
>>
>> --
>> 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
>>
>>
>
>
>
> --
> 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
>
>



-- 
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




More information about the petsc-users mailing list