| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
MAINT: remove redundant open() modes and io.open() alias
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
| |
Add support for ARMPL - requires ARMPL_DIR set - product page https://www.arm.com/products/development-tools/server-and-hpc/allinea-studio/performance-libraries
|
|
|
|
|
|
|
|
|
|
| |
Variable defined multiple times
This assignment to 'f' is unnecessary as it is redefined here before this value is used.
This originates in 6c8412f, where the intent was clearly to try an
alternative value for f in case NameError is raised:
f = sys.argv[0]
However, for this value to be actually used, the else: must be removed.
|
| |
|
| |
|
|
|
|
| |
system_info.py
|
|
|
|
| |
fixed Azure linter 'line too long' error
|
| |
|
| |
|
| |
|
|\
| |
| | |
BLD, ENH: Enable Accelerate Framework
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
Supporting PowerPC/AltiVec on macOS is no longer necessary,
even if the Mac/G5 is still running having `-faltivec` or
replacing it with the new AltiVec flag `-maltivec` wouldn't
increase that much performance without raw SIMD.
note: the flag was enabled on non-intel platforms which
causes fatal build errors on macOS/arm64.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(#18737)
This enables the behaviour of the build honouring the environment
variables NPY_BLAS_LIBS, NPY_CBLAS_LIBS, and NPY_LAPACK_LIBS
to select any standard-conforming implementation of the f77
interfaces.
This is needed to sanely have automated builds provide BLAS libs
in a way common to multiple packages (using some environment variable,
BLAS_LIBS being canonical, but variants exist). Hacking a site.cfg
is fine for a single user, but does not scale well. As example,
pkgsrc, the NetBSD packages collection, offers differing builds
of Netlib or OpenBLAS, the latter in variables openblas,
openblas_openmp, and openblas_pthread. With this patch, differing
builds can just use different variable values like
NPY_BLAS_LIBS=-lblas NPY_CBLAS_LIBS=-lcblas \
NPY_LAPACK_LIBS='-lapack -lblas' \
python setup.py build
NPY_BLAS_LIBS=-lopenblas_pthread NPY_CBLAS_LIBS= \
NPY_LAPACK_LIBS='-lopenblas_pthread' \
python setup.py build
(NPY_LAPACK_LIBS contains reference to BLAS, too, for packages that only
use LAPACK and would miss underlying BLAS otherwise for static linking.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Including this directory is painful for cross-compiling, see
gh-14980 and gh-13280. Removing this directory fixes the following
build failure:
```
gcc: numpy/core/src/common/numpyos.c
In file included from numpy/core/src/common/numpyos.c:23:
/usr/include/xlocale.h:27:16: error: redefinition of ‘struct __locale_struct’
27 | typedef struct __locale_struct
```
This error also shows up in various other build issues outside of the
NumPy issue tracker.
Compilers normally always include this path, so this shouldn't break
anything. The default include paths for the compiler can be checked,
e.g. for gcc with `cpp -v`. That will typically have /usr/include last.
In case this breaks something for a nonstandard compiler, that can be
worked around via a site.cfg file in the root of the repo (or
equivalently, `~/numpy-site.cfg`) containing:
```
[DEFAULT]
include_dirs = /usr/include
```
The same principle should apply to `/usr/lib`. I will make that change
in a separate commit, because the failure mode for that will be
different (and I'm not running into it right now).
|
|
|
|
|
|
|
|
|
|
|
|
| |
Building BLAS and LAPACK from sources in a NumPy build makes
very little sense in 2021. Therefore remove the documentation
for this from `site.cfg.example`, and doc-deprecate it in
`distutils/system_info.py`.
It's hard to properly deprecate and not worth doing, just
de-emphasizing is enough.
[ci skip]
|
|\
| |
| | |
BLD, BUG: Fix cblas detection on windows
|
| | |
|
|/
|
|
|
| |
The function returns a tuple of values, of which we need to check the first.
Fixes #17489.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BLD: enabled negation of library choices in NPY_*_ORDER
When users build for a particular order it may be beneficial
to disallow certain libraries.
In particular a user may not care about which accelerated
BLAS library is used, so long as the NetLIB or ATLAS library isn't used.
This is now possible with:
NPY_BLAS_ORDER='^blas,atlas'
or
NPY_BLAS_ORDER='!blas,atlas'
Since we may envision more BLAS/LAPACK libraries to the pool, this
will provide greater flexibility as they enter.
A new (local) method is added in system_info.py which removes duplicate
code and allows for easier usage across libraries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gh-17223 started the `distutils` modernization
process because of the various upstream stuff
going on (thanks)
* that set of changes caused build issues with NumPy
pre-release wheels + SciPy `master`:
https://travis-ci.org/github/scipy/scipy/builds/725002838
* I was able to patch two separate issues and confirm
that this feature branch restores the SciPy build locally:
1) in one case, `distutils.sysconfig.get_python_inc` was
replaced with `distutils.get_python_inc`, which does not
exist (probably a typo)
2) a bit more serious; even `sysconfig.get_python_inc` does
not appear to exist; the closest match I could find (and
that worked) was `sysconfig.get_path()` with options for
general and platform-specific header paths as needed
* I'm not claiming that these stdlib replacements are perfect
either (the prefix case may still be slightly different?), but
it does prevent the SciPy build break originally introduced
as a start
|
| |
|
| |
|
|
|
|
|
| |
See #17012 item 15
Co-authored-by: Jakob <jakobjakobson13@posteo.de>
|
|
|
|
|
|
|
| |
Remove support for Apple Accelerate, since it is buggy. A build error should
occur on most or all setups if linked against Accelerate. Test or import failures
should occur on setups where Accelerate is picked up dynamically.
Co-authored-by: Warren Weckesser <warren.weckesser@gmail.com>
|
|
|
|
| |
Signed-off-by: Changqing Li <changqing.li@windriver.com>
|
|
|
|
|
|
|
| |
* Cleanup unused imports (F401) of mostly standard Python modules,
or some internal but unlikely referenced modules
* Where internal imports are potentially used, mark with noqa
* Avoid redefinition of imports (F811)
|
|\
| |
| | |
DOC: document site.cfg.example
|
| | |
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
MAINT: cleanup use of sys.exc_info
|
| |
| |
| |
| |
| |
| | |
This code originates from python 2.6, before there was an `as` clause in `except`.
This removes all callers of `numpy.distutils.compat.get_exception`.
|
| |
| |
| |
| |
| |
| |
| | |
Inheriting from object was necessary for Python 2 compatibility to use
new-style classes. In Python 3, this is unnecessary as there are no
old-style classes.
Dropping the object is more idiomatic Python.
|
|/
|
|
|
| |
As numpy is Python 3 only, these import statements are now unnecessary
and don't alter runtime behavior.
|
|
|
|
|
|
|
|
|
| |
Ensure the openblas MSVC+gfortran temporary library names are unique
for the different openblas_* system_info classes.
If multiple openblas libraries (e.g. both a 32-bit and a 64-bit one) are
used in the same project, when compiling in the msvc+gfortran mode, this
previously resulted to only the last one being used.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
This is an emerging "standard" for 64-bit BLAS/LAPACK, avoiding symbol
clashes with 32-bit BLAS/LAPACK, originally introduced for Julia.
OpenBLAS can be compiled with 64-bit integer size and symbol suffix
'64_' (INTERFACE64=1 SYMBOLSUFFIX=64_). OpenBLAS built with this
setting is also provided by some Linux distributions (e.g. Fedora's
64-bit openblas packages).
|
| |
|
| |
|
| |
|