[petsc-dev] Fwd: [petsc-maint #56111] petsc4py does not work with complex numbers?
Satish Balay
balay at mcs.anl.gov
Tue Nov 16 08:23:11 CST 2010
Yes - valgrind doesn't show anything with this code.. [it shows a
bunch of python stuff - before PetscInitialize() - so I'm guessing
this is unreleated python stuff..]
And suprisingly fp_trap isn't catching the SIGFPE - when run inside
valgrind..
BTW: due to the SIGFPE - there is a Nan in the var - so this check
[-(-var)==var] and it fails and gives the following message -
eventhough its sequential run.
> >> [0] Scalar value must be same on all processes, argument # 3
Satish
On Tue, 16 Nov 2010, Barry Smith wrote:
>
> Satish,
>
> Valgrind ok?
>
> Barry
>
> On Nov 16, 2010, at 7:23 AM, Satish Balay wrote:
>
> > 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