summaryrefslogtreecommitdiff
path: root/site.cfg.example
diff options
context:
space:
mode:
authorPauli Virtanen <pav@iki.fi>2019-12-07 14:17:20 +0200
committerPauli Virtanen <pav@iki.fi>2019-12-14 14:14:37 +0200
commita92039db1edf9d85059ddadc10134f434ae82ce7 (patch)
treefbc070996c04be5ac3bae9b88b923d19b4637f2b /site.cfg.example
parent2fc10a279edfd132ec27eeac9e72f5a02a8bae5e (diff)
downloadnumpy-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.example25
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