summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorCharles Harris <charlesr.harris@gmail.com>2019-12-15 12:25:21 -0800
committerGitHub <noreply@github.com>2019-12-15 12:25:21 -0800
commitde06954b19a6c0980d48e4397adabfd15d808660 (patch)
treeabc7efcf50ca558d67f6eb13a040cffcca29e14e /doc
parent740c7f5a089adceebd445b444f32d87ad09c7c14 (diff)
parent85447b1ed7df98aff0ed9d666a92f8714f08c2ee (diff)
downloadnumpy-de06954b19a6c0980d48e4397adabfd15d808660.tar.gz
Merge pull request #15069 from pv/blas-ilp64
ENH: add support for ILP64 OpenBLAS (without symbol suffix)
Diffstat (limited to 'doc')
-rw-r--r--doc/source/release/1.18.0-notes.rst7
-rw-r--r--doc/source/user/building.rst40
2 files changed, 30 insertions, 17 deletions
diff --git a/doc/source/release/1.18.0-notes.rst b/doc/source/release/1.18.0-notes.rst
index 76b358d98..dc0c4ce84 100644
--- a/doc/source/release/1.18.0-notes.rst
+++ b/doc/source/release/1.18.0-notes.rst
@@ -205,10 +205,9 @@ The `numpy.expand_dims` ``axis`` keyword can now accept a tuple of
axes. Previously, ``axis`` was required to be an integer.
(`gh-14051 <https://github.com/numpy/numpy/pull/14051>`__)
-Support for 64-bit OpenBLAS with symbol suffix
-----------------------------------------------
-Added support for 64-bit (ILP64) OpenBLAS compiled with
-``make INTERFACE64=1 SYMBOLSUFFIX=64_``. See ``site.cfg.example``
+Support for 64-bit OpenBLAS
+---------------------------
+Added support for 64-bit (ILP64) OpenBLAS. See ``site.cfg.example``
for details.
Improvements
diff --git a/doc/source/user/building.rst b/doc/source/user/building.rst
index 8e2b5c03b..1588de964 100644
--- a/doc/source/user/building.rst
+++ b/doc/source/user/building.rst
@@ -195,23 +195,37 @@ or::
BLAS=None LAPACK=None ATLAS=None python setup.py build
-64-bit BLAS and LAPACK with symbol suffix
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+64-bit BLAS and LAPACK
+~~~~~~~~~~~~~~~~~~~~~~
+
+You can tell Numpy to use 64-bit BLAS/LAPACK libraries by setting the
+environment variable::
+
+ NPY_USE_BLAS_ILP64=1
+
+when building Numpy. The following 64-bit BLAS/LAPACK libraries are
+supported:
+
+1. OpenBLAS ILP64 with ``64_`` symbol suffix (``openblas64_``)
+2. OpenBLAS ILP64 without symbol suffix (``openblas_ilp64``)
+
+The order in which they are preferred is determined by
+``NPY_BLAS_ILP64_ORDER`` and ``NPY_LAPACK_ILP64_ORDER`` environment
+variables. The default value is ``openblas64_,openblas_ilp64``.
+
+.. note::
-Numpy also supports 64-bit OpenBLAS with ``64_`` symbol suffix. Such
-library is obtained by compiling OpenBLAS with settings::
+ Using non-symbol-suffixed 64-bit BLAS/LAPACK in a program that also
+ uses 32-bit BLAS/LAPACK can cause crashes under certain conditions
+ (e.g. with embedded Python interpreters on Linux).
- make INTERFACE64=1 SYMBOLSUFFIX=64_
+ The 64-bit OpenBLAS with ``64_`` symbol suffix is obtained by
+ compiling OpenBLAS with settings::
-To make Numpy use it, set ``NPY_USE_BLAS64_=1`` environment variable
-when building Numpy. You may also need to configure the
-``[openblas64_]`` section in ``site.cfg``.
+ make INTERFACE64=1 SYMBOLSUFFIX=64_
-The symbol suffix avoids symbol name clashes between 32-bit and 64-bit
-BLAS/LAPACK libraries, meaning that you can link to both in the same
-program. This avoids potential issues when using 64-bit BLAS/LAPACK in
-Numpy while simultaneously using other Python software that uses the
-32-bit versions.
+ The symbol suffix avoids the symbol name clashes between 32-bit and
+ 64-bit BLAS/LAPACK libraries.
Supplying additional compiler flags