← Back to team overview

dolfin team mailing list archive

[Bug 691075] Re: Error when running la python unittest in parallel

 

This has been fixed by the some C++ changes, some Python changes and by
tweaking the tests.

Longer term solution is to carefully consider the Python la interface.
We should make it easy for users to write parallel programs - at the
moment it's easy to write programs that will not work in parallel. The
basic premise should be that Vectors and Matrices are distributed.

** Changed in: dolfin
       Status: New => Fix Committed

-- 
You received this bug notification because you are a member of DOLFIN
Team, which is subscribed to DOLFIN.
https://bugs.launchpad.net/bugs/691075

Title:
  Error when running la python unittest in parallel

Status in DOLFIN:
  Fix Committed

Bug description:
  The la python unittest fails to run in parallel. This is what I get when running the test on my laptop:

$ mpirun -np 2 python test.py 

Testing basic PyDOLFIN linear algebra operations
------------------------------------------------

Testing basic PyDOLFIN linear algebra operations
------------------------------------------------

Running: EpetraTester

Running: EpetraTester
..EEEpetraMatrix::get is not (yet) working in parallel. Consider filing a bug report at https://bugs.launchpad.net/dolfin


The buildbot has a different error message:

One or more unit tests failed for la (Python):

Testing basic PyDOLFIN linear algebra operations
------------------------------------------------

Running: MTL4Tester

Testing basic PyDOLFIN linear algebra operations
------------------------------------------------

Running: MTL4Tester
EFEEFF
Running: PETScTester
F..F.
Running: PETScTester
...python: /home/fenicsslave/jhbuildbot/fenics-src/dolfin/dolfin/la/PETScVector.cpp:146: virtual void dolfin::PETScVector::set_local(const dolfin::Array<double>&): Assertion `values.size() == local_size' failed.
[386:02656] *** Process received signal ***
[386:02656] Signal: Aborted (6)
[386:02656] Signal code:  (-6)
[386:02656] [ 0] /lib/libpthread.so.0(+0xf8f0) [0x2aec2b9ed8f0]
[386:02656] [ 1] /lib/libc.so.6(gsignal+0x35) [0x2aec2cab1a75]
[386:02656] [ 2] /lib/libc.so.6(abort+0x180) [0x2aec2cab55c0]
[386:02656] [ 3] /lib/libc.so.6(__assert_fail+0xf1) [0x2aec2caaa941]
[386:02656] [ 4] /home/fenicsslave/jhbuildbot/fenics-build/dolfin/dolfin/libdolfin.so.0(_ZN6dolfin11PETScVector9set_localERKNS_5ArrayIdEE+0x1b2) [0x2aec2e0de422]
[386:02656] [ 5] /home/fenicsslave/jhbuildbot/fenics/lib/python2.6/site-packages/dolfin/_cpp.so(+0xd7d21) [0x2aec2db53d21]
[386:02656] [ 6] python(PyEval_EvalFrameEx+0x5c94) [0x4a8784]
[386:02656] [ 7] python(PyEval_EvalFrameEx+0x5a60) [0x4a8550]
[386:02656] *** End of error message ***
python: /home/fenicsslave/jhbuildbot/fenics-src/dolfin/dolfin/la/PETScVector.cpp:146: virtual void dolfin::PETScVector::set_local(const dolfin::Array<double>&): Assertion `values.size() == local_size' failed.
[386:02655] *** Process received signal ***
[386:02655] Signal: Aborted (6)
[386:02655] Signal code:  (-6)
[386:02655] [ 0] /lib/libpthread.so.0(+0xf8f0) [0x2ab060f048f0]
[386:02655] [ 1] /lib/libc.so.6(gsignal+0x35) [0x2ab061fc8a75]
[386:02655] [ 2] /lib/libc.so.6(abort+0x180) [0x2ab061fcc5c0]
[386:02655] [ 3] /lib/libc.so.6(__assert_fail+0xf1) [0x2ab061fc1941]
[386:02655] [ 4] /home/fenicsslave/jhbuildbot/fenics-build/dolfin/dolfin/libdolfin.so.0(_ZN6dolfin11PETScVector9set_localERKNS_5ArrayIdEE+0x1b2) [0x2ab0635f5422]
[386:02655] [ 5] /home/fenicsslave/jhbuildbot/fenics/lib/python2.6/site-packages/dolfin/_cpp.so(+0xd7d21) [0x2ab06306ad21]
[386:02655] [ 6] python(PyEval_EvalFrameEx+0x5c94) [0x4a8784]
[386:02655] [ 7] python(PyEval_EvalFrameEx+0x5a60) [0x4a8550]
[386:02655] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 2655 on node 386 exited on signal 6 (Aborted).
--------------------------------------------------------------------------





References