Bug#737675: openblas: openmp change deadlocks python-scipy

Sébastien Villemot sebastien at debian.org
Wed Feb 12 17:09:09 UTC 2014


Control: tags -1 + upstream
Control: forwarded -1 https://github.com/xianyi/OpenBLAS/issues/294

Le mardi 04 février 2014 à 22:58 +0100, Julian Taylor a écrit :
> On 04.02.2014 22:52, Sébastien Villemot wrote:
> > Le mardi 04 février 2014 à 22:42 +0100, Julian Taylor a écrit :
> > 
> >> it will deadlock eating all cpu in gomp at the end.
> >> This is the typical failure pattern caused by forks combined with gnu
> >> openmp (see https://github.com/xianyi/OpenBLAS/issues/294)
> >>
> >> But the weird part is this testsuite does not fork at all, so it might
> >> be a different issue.
> >> It did not occur when openblas was still using pthreads.

My understanding of the issue is that Python violates the POSIX API when
forking, and that GCC does not handle that case as well as some
proprietary compilers. A proposal to change the behavior of GCC has been
posted at http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60035

Until GCC is modified (if it is ever), the OpenBLAS maintainer is trying
to implement a solution at its level (see the github issue at the top of
this message).

Julian: does that seem an accurate summary of the situation to you?

> >> Given the problems openmp based openblas causes in the python world (see
> >> the linked issue) I would prefer if the change was reverted or openmp
> >> variant split into a separate alternative.
> > 
> > I would rather keep the libopenblas-base package with OpenMP, and create
> > a new libopenblas-pthread0 package.
> > 
> 
> I would prefer it the other way round as in my experience pthread works
> better. But this viewpoint is of course scewed by the software I'm using.
> 
> A compromise could be to have -base single threaded and provided two
> threaded alternatives documenting their issues.

As I have explained at
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684344#25 , the
pthreads version is sometimes worse than the OpenMP one. So there is
currently no absolutely safe threading mode.

I'll wait a little to see if the issue is solved upstream. If not, I
think I'll change the package to ship a single-threaded version. People
wanting a multi-threaded one will have to compile a custom package
(following the instructions already in README.Debian).

-- 
 .''`.    Sébastien Villemot
: :' :    Debian Developer
`. `'     http://www.dynare.org/sebastien
  `-      GPG Key: 4096R/381A7594

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://lists.alioth.debian.org/pipermail/debian-science-maintainers/attachments/20140212/77317326/attachment.sig>


More information about the debian-science-maintainers mailing list