summaryrefslogtreecommitdiff
path: root/site.cfg.example
diff options
context:
space:
mode:
authorLars Buitinck <larsmans@gmail.com>2014-01-12 17:34:10 +0100
committerLars Buitinck <larsmans@gmail.com>2014-01-14 20:33:15 +0100
commit7488ebeee75f98a01dc6c9bab6e98e254ff54c95 (patch)
tree4630a48c8ccbfc5d11e067ebf2b9afd48b9430ee /site.cfg.example
parent4b4796a35dfafbc4e037a5f1cd4a26d6a2e17f41 (diff)
downloadnumpy-7488ebeee75f98a01dc6c9bab6e98e254ff54c95.tar.gz
DOC: site.cfg: warn against OpenBLAS and multiprocessing
Fixes #654 by not fixing it; I don't think NumPy *can* actually fix the problem as it's a design flaw in Python's multiprocessing. Listed various alternatives (Python 3.4 forkserver, single-threaded OpenBLAS, Python threading).
Diffstat (limited to 'site.cfg.example')
-rw-r--r--site.cfg.example11
1 files changed, 11 insertions, 0 deletions
diff --git a/site.cfg.example b/site.cfg.example
index 4cf4a33a4..df74f0118 100644
--- a/site.cfg.example
+++ b/site.cfg.example
@@ -83,6 +83,17 @@
# for your configuration (in the following example we installed OpenBLAS with
# ``make install PREFIX=/opt/OpenBLAS``.
#
+# **Warning**: OpenBLAS, by default, is built in multithreaded mode. Due to the
+# way Python's multiprocessing is implemented, a multithreaded OpenBLAS can
+# cause programs using both to hang as soon as a worker process is forked on
+# POSIX systems (Linux, Mac). Python 3.4 will introduce a new feature in
+# multiprocessing, called the "forkserver", which solves this problem. For
+# older versions, either compile OpenBLAS with multithreading turned off or
+# use Python threads instead of multiprocessing.
+# (This problem does not exist with multithreaded ATLAS.)
+#
+# http://docs.python.org/3.4/library/multiprocessing.html#contexts-and-start-methods
+#
# [openblas]
# libraries = openblas
# library_dirs = /opt/OpenBLAS/lib