diff options
author | Pauli Virtanen <pav@iki.fi> | 2019-12-07 14:17:20 +0200 |
---|---|---|
committer | Pauli Virtanen <pav@iki.fi> | 2019-12-14 14:14:37 +0200 |
commit | a92039db1edf9d85059ddadc10134f434ae82ce7 (patch) | |
tree | fbc070996c04be5ac3bae9b88b923d19b4637f2b /site.cfg.example | |
parent | 2fc10a279edfd132ec27eeac9e72f5a02a8bae5e (diff) | |
download | numpy-a92039db1edf9d85059ddadc10134f434ae82ce7.tar.gz |
ENH: distutils: add support for ILP64 OpenBLAS (generic symbol suffix)
Generalize the ILP64 BLAS/LAPACK symbol name handling to deal with
arbitrary prefix/suffix.
The build-time behavior is changed so that HAVE_BLAS_ILP64 and
BLAS_SYMBOL_SUFFIX/PREFIX defines are added to compile options
as appropriate.
Mainly to make autodetection of BLAS/LAPACK easier for downstream
numpy.distutils users, add get_info aliases 'blas_ilp64_opt',
'blas_ilp64_plain_opt', and 'blas64__opt' for any/no/""&"64_"
prefix&suffix, and the same for lapack. (Due to the way system_info
works, each also gets a separate class.)
In addition to openblas64_ which has a fixed suffix, add the (by default
suffixless) openblas_ilp64, which correspond to the most likely cases to
be present.
Diffstat (limited to 'site.cfg.example')
-rw-r--r-- | site.cfg.example | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/site.cfg.example b/site.cfg.example index a58039df3..ba912866a 100644 --- a/site.cfg.example +++ b/site.cfg.example @@ -140,8 +140,9 @@ # This is an emerging "standard" for 64-bit BLAS/LAPACK, avoiding symbol clashes # with 32-bit BLAS/LAPACK. # -# To build Numpy with such 64-bit BLAS/LAPACK, set environment variable -# NPY_USE_BLAS64_=1 at build time. +# To build Numpy with such 64-bit BLAS/LAPACK, set environment +# variables NPY_USE_BLAS_ILP64=1, NPY_BLAS_ILP64_ORDER=openblas64_, +# NPY_LAPACK_ILP64_ORDER=openblas64_ at build time. # # See: # https://github.com/xianyi/OpenBLAS/issues/646 @@ -152,6 +153,26 @@ # include_dirs = /opt/OpenBLAS/include # runtime_library_dirs = /opt/OpenBLAS/lib +# OpenBLAS (64-bit ILP64) +# ----------------------- +# It is possible to also use OpenBLAS compiled with 64-bit integer +# size (ILP64) but no symbol name changes. To do that, set the +# environment variables NPY_USE_BLAS_ILP64=1, +# NPY_BLAS_ILP64_ORDER=openblas_ilp64, +# NPY_LAPACK_ILP64_ORDER=openblas_ilp64 at build time. +# +# Note that mixing both 64-bit and 32-bit BLAS without symbol suffixes +# in the same application may cause problems due to symbol name +# clashes, especially with embedded Python interpreters. +# +# [openblas_ilp64] +# libraries = openblas64 +# library_dirs = /opt/OpenBLAS/lib +# include_dirs = /opt/OpenBLAS/include +# runtime_library_dirs = /opt/OpenBLAS/lib +# symbol_prefix = +# symbol_suffix = + # BLIS # ---- # BLIS (https://github.com/flame/blis) also provides a BLAS interface. It's a |