[petsc-dev] Fwd: [petsc-maint #56111] petsc4py does not work with complex numbers?

Satish Balay balay at mcs.anl.gov
Tue Nov 16 07:23:42 CST 2010


With '-fp_trap -start_in_debugger' in ~/.petscrc, I get a crash at:

>>>>>>>>>
Program received signal SIGFPE, Arithmetic exception.
0x00007f86e5ee17b4 in ATL_zreftrsmLLNN () from /usr/lib64/atlas/libatlas.so.3
(gdb) where
#0  0x00007f86e5ee17b4 in ATL_zreftrsmLLNN ()
   from /usr/lib64/atlas/libatlas.so.3
#1  0x00007f86e5efc9fb in ATL_ztrsmLLNN () from /usr/lib64/atlas/libatlas.so.3
#2  0x00007f86e5efc4e1 in ATL_ztrsm () from /usr/lib64/atlas/libatlas.so.3
#3  0x000000394422ebbc in ATL_zpotrs () from /usr/lib64/atlas/liblapack.so.3
#4  0x00000039446a69cb in zpotrs_ () from /usr/lib64/atlas/liblapack.so.3
#5  0x00007f86e71df480 in KSPSolve_BCGSL (ksp=0x1372da0) at bcgsl.c:179
#6  0x00007f86e74dbd1e in KSPSolve (ksp=0x1372da0, b=0x13a9c30, x=0x13a5b20)
    at itfunc.c:427
#7  0x00007f86e7ef5898 in __pyx_pf_8petsc4py_5PETSc_3KSP_solve (
    __pyx_v_self=0xc8e090, __pyx_args=<value optimized out>, 
    __pyx_kwds=<value optimized out>) at src/petsc4py.PETSc.c:89419


#5  0x00007f86e71df480 in KSPSolve_BCGSL (ksp=0x1372da0) at bcgsl.c:179
179           LAPACKpotrs_("Lower", &bell, &ione, &MZa[1+ldMZ], &ldMZ, &AY0c[1], &ldMZ, &bierr);
(gdb) p ldMZ
$1 = 3
(gdb) p ldMZ
$2 = 3
(gdb) p MZa[1+ldMZ]
$3 = 2.1147927874194505e-14 + 0 * I
(gdb) p MZa[1+ldMZ+1]
$4 = 2.1147927874194505e-14 + 0 * I
(gdb) p MZa[1+ldMZ+2]
$5 = 4.472348533721329e-28 + -0 * I
(gdb) p AY0c[1]
$6 = 2.1147927874194505e-14 + 0 * I
(gdb) p AY0c[2]
$7 = 0 + 0 * I
(gdb) p AY0c[3]
$8 = 1.9966503766457982e-314 + 9.5700515599449456e-321 * I
(gdb)
<<<<<<<<<<<<<<<

So - perhaps some of these values are garbage - generated in earler
part of the code?  I don't know where the bug is yet..

[BTW: VecEqual fix is pushed to both petsc-31 and petsc-dev]

Satish

On Mon, 15 Nov 2010, Lisandro Dalcin wrote:

> petsc-dev has a bug in VecEqual for the case of complex scalars. I've
> mailed Satish about this with a single-line patch. After applying the
> patch, almost all petsc4py tests pass.
> 
> Still, there is a failure, but I doubt it is petsc4py's fault:
> 
> ======================================================================
> ERROR: testSolve (test_ksp.TestKSPBCGSL)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "test/test_ksp.py", line 132, in testSolve
>     self.ksp.solve(b, x)
>   File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve
> (src/petsc4py.PETSc.c:89520)
> Error: error code 62
> [0] KSPSolve() line 427 in /usr/local/petsc/dev/src/ksp/ksp/interface/itfunc.c
> [0] KSPSolve_BCGSL() line 241 in
> /usr/local/petsc/dev/src/ksp/ksp/impls/bcgsl/bcgsl.c
> [0] VecMAXPY() line 1202 in /usr/local/petsc/dev/src/vec/vec/interface/rvector.c
> [0] Invalid argument
> [0] Scalar value must be same on all processes, argument # 3
> 
> 
> On 15 November 2010 20:05, Satish Balay <balay at mcs.anl.gov> wrote:
> > Ok. For now - I've added complex=1 for petsc4py.py [and mpi4py.py]
> >
> > Satish
> >
> > On Mon, 15 Nov 2010, Lisandro Dalcin wrote:
> >
> >> On 15 November 2010 19:01, Satish Balay <balay at mcs.anl.gov> wrote:
> >> > I get the following with complex enabled. Does this mean 'some tests
> >> > run but others fail'?
> >> >
> >> > I guess we'll have to wait for Lisandro to reply..
> >> >
> >>
> >> Complex numbers should work just fine, at least with 3.1, I'm going to
> >> check against petsc-dev.
> >>
> >> >
> >> > asterix:/home/balay/tmp/petsc-dev/externalpackages/petsc4py-dev>make test
> >> > python test/runtests.py < /dev/null
> >> > [0 at asterix] Python 2.7 (/usr/bin/python)
> >> > [0 at asterix] PETSc 3.1.0-p5 development (conf: 'asterix64')
> >> > [0 at asterix] petsc4py 1.1.2 (build/lib.linux-x86_64-2.7/petsc4py)
> >> > .......................................................................................................................................................................................................................EE...................................................................................................F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F
 ...
> >  ....
> >> >  .F........F........F........F.........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F........F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F..F...................FE..........FF.FEF...........F.....................................................................................................................................................................................................................FFFF........FFFF................................................................F...F..F.......F...F..F.......F...F..F........
> >> > ======================================================================
> >> > ERROR: testSetMonitor (test_ksp.TestKSPBCGSL)
> >> > ----------------------------------------------------------------------
> >> > Traceback (most recent call last):
> >> >  File "test/test_ksp.py", line 154, in testSetMonitor
> >> >    self.testSolve()
> >> >  File "test/test_ksp.py", line 132, in testSolve
> >> >    self.ksp.solve(b, x)
> >> >  File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve (src/petsc4py.PETSc.c:89419)
> >> > Error: error code 62
> >> > [0] KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c
> >> > [0] KSPSolve_BCGSL() line 241 in src/ksp/ksp/impls/bcgsl/bcgsl.c
> >> > [0] VecMAXPY() line 1202 in src/vec/vec/interface/rvector.c
> >> > [0] Invalid argument
> >> > [0] Scalar value must be same on all processes, argument # 3
> >> >
> >> > ======================================================================
> >> > ERROR: testSolve (test_ksp.TestKSPBCGSL)
> >> > ----------------------------------------------------------------------
> >> > Traceback (most recent call last):
> >> >  File "test/test_ksp.py", line 132, in testSolve
> >> >    self.ksp.solve(b, x)
> >> >  File "KSP.pyx", line 326, in petsc4py.PETSc.KSP.solve (src/petsc4py.PETSc.c:89419)
> >> > Error: error code 62
> >> > [0] KSPSolve() line 427 in src/ksp/ksp/interface/itfunc.c
> >> > [0] KSPSolve_BCGSL() line 241 in src/ksp/ksp/impls/bcgsl/bcgsl.c
> >> > [0] VecMAXPY() line 1202 in src/vec/vec/interface/rvector.c
> >> > [0] Invalid argument
> >> > [0] Scalar value must be same on all processes, argument # 3
> >> >
> >> > ======================================================================
> >> > ERROR: testCreateTranspose (test_mat_py.TestDiagonal)
> >> > ----------------------------------------------------------------------
> >> > Traceback (most recent call last):
> >> >  File "test/test_mat_py.py", line 100, in tearDown
> >> >    self.assertEqual(getrefcount(ctx), 2)
> >> > AssertionError: 3 != 2
> >> >
> >> > ======================================================================
> >> > ERROR: testMultTransposeNewMeth (test_mat_py.TestIdentity)
> >> > ---------------------------
> >> >
> >> >
> >> > On Mon, 15 Nov 2010, Barry Smith wrote:
> >> >
> >> >>
> >> >>
> >> >> >
> >> >> >
> >> >> >    Could someone who knows answer this? If it supports complex then we'll need to change the flag in petsc4py.py
> >> >> >
> >> >> >   Barry
> >> >> >
> >> >> > *******************************************************************************
> >> >> >          UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> >> >> > -------------------------------------------------------------------------------
> >> >> > Cannot use petsc4py with complex numbers it is not coded for this capability
> >> >> > *******************************************************************************
> >> >> >   File "./config/configure.py", line 260, in petsc_configure
> >> >> >     framework.configure(out = sys.stdout)
> >> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/BuildSystem/config/framework.py", line 977, in configure
> >> >> >     child.configure()
> >> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/BuildSystem/config/package.py", line 488, in configure
> >> >> >     self.consistencyChecks()
> >> >> >   File "/Users/srinath/work/Packages/rev-packages/petsc-dev/config/PETSc/package.py", line 40, in consistencyChecks
> >> >> >     raise RuntimeError('Cannot use '+self.name+' with complex numbers it is not coded for this capability')
> >> >> >
> >> >> >
> >> >> >
> >> >> > Begin forwarded message:
> >> >> >
> >> >> >> From: Srinath Vadlamani <srinath at txcorp.com>
> >> >> >> Date: November 15, 2010 3:27:55 PM CST
> >> >> >> To: petsc-maint <petsc-maint at mcs.anl.gov>
> >> >> >> Subject: [petsc-maint #56111] petsc4py does not work with complex numbers?
> >> >> >> Reply-To: petsc-maint at mcs.anl.gov, Srinath Vadlamani <srinath at txcorp.com>
> >> >> >>
> >> >> >> Is this true?
> >> >> >>
> >> >> >> --
> >> >> >> =========================
> >> >> >> Srinath Vadlamani, PhD.
> >> >> >> Tech-X Corp. Research Scientist
> >> >> >> 5621 Arapahoe Ave. Suite A
> >> >> >> Boulder, CO 80303
> >> >> >> 303-996-2034
> >> >> >> =========================
> >> >> >>
> >> >> >> Is this true?
> >> >> >>
> >> >> >> --
> >> >> >> =========================
> >> >> >> Srinath Vadlamani, PhD.
> >> >> >> Tech-X Corp. Research Scientist
> >> >> >> 5621 Arapahoe Ave. Suite A
> >> >> >> Boulder, CO 80303
> >> >> >> 303-996-2034
> >> >> >> =========================
> >> >> >>
> >> >> >
> >> >>
> >> >>
> >> >
> >>
> >>
> >>
> >>
> >
> 
> 
> 
> 


More information about the petsc-dev mailing list