diff options
author | Charles Harris <charlesr.harris@gmail.com> | 2019-12-15 12:25:21 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-12-15 12:25:21 -0800 |
commit | de06954b19a6c0980d48e4397adabfd15d808660 (patch) | |
tree | abc7efcf50ca558d67f6eb13a040cffcca29e14e /doc | |
parent | 740c7f5a089adceebd445b444f32d87ad09c7c14 (diff) | |
parent | 85447b1ed7df98aff0ed9d666a92f8714f08c2ee (diff) | |
download | numpy-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.rst | 7 | ||||
-rw-r--r-- | doc/source/user/building.rst | 40 |
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 |