File: 1.26.1-notes.rst

package info (click to toggle)
numpy 1%3A2.2.4%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 83,420 kB
  • sloc: python: 248,499; asm: 232,365; ansic: 216,874; cpp: 135,657; f90: 1,540; sh: 938; fortran: 558; makefile: 409; sed: 139; xml: 109; java: 92; perl: 79; cs: 54; javascript: 53; objc: 29; lex: 13; yacc: 9
file content (123 lines) | stat: -rw-r--r-- 5,945 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
.. currentmodule:: numpy

==========================
NumPy 1.26.1 Release Notes
==========================

NumPy 1.26.1 is a maintenance release that fixes bugs and regressions
discovered after the 1.26.0 release. In addition, it adds new functionality for
detecting BLAS and LAPACK when building from source. Highlights are:

- Improved detection of BLAS and LAPACK libraries for meson builds
- Pickle compatibility with the upcoming NumPy 2.0.

The 1.26.release series is the last planned minor release series before NumPy
2.0. The Python versions supported by this release are 3.9-3.12.


Build system changes
====================

Improved BLAS/LAPACK detection and control
------------------------------------------

Auto-detection for a number of BLAS and LAPACK is now implemented for Meson.
By default, the build system will try to detect MKL, Accelerate (on macOS
>=13.3), OpenBLAS, FlexiBLAS, BLIS and reference BLAS/LAPACK. Support for MKL
was significantly improved, and support for FlexiBLAS was added.

New command-line flags are available to further control the selection of the
BLAS and LAPACK libraries to build against.

To select a specific library, use the config-settings interface via ``pip`` or
``pypa/build``. E.g., to select ``libblas``/``liblapack``, use::

    $ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
    $ # OR
    $ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack

This works not only for the libraries named above, but for any library that
Meson is able to detect with the given name through ``pkg-config`` or CMake.

Besides ``-Dblas`` and ``-Dlapack``, a number of other new flags are available
to control BLAS/LAPACK selection and behavior:

- ``-Dblas-order`` and ``-Dlapack-order``: a list of library names to search
  for in order, overriding the default search order.
- ``-Duse-ilp64``: if set to ``true``, use ILP64 (64-bit integer) BLAS and
  LAPACK. Note that with this release, ILP64 support has been extended to
  include MKL and FlexiBLAS. OpenBLAS and Accelerate were supported in previous
  releases.
- ``-Dallow-noblas``: if set to ``true``, allow NumPy to build with its
  internal (very slow) fallback routines instead of linking against an external
  BLAS/LAPACK library. *The default for this flag may be changed to ``true``
  in a future 1.26.x release, however for 1.26.1 we'd prefer to keep it as
  ``false`` because if failures to detect an installed library are happening,
  we'd like a bug report for that, so we can quickly assess whether the new
  auto-detection machinery needs further improvements.*
- ``-Dmkl-threading``: to select the threading layer for MKL. There are four
  options: ``seq``, ``iomp``, ``gomp`` and ``tbb``. The default is ``auto``,
  which selects from those four as appropriate given the version of MKL
  selected.
- ``-Dblas-symbol-suffix``: manually select the symbol suffix to use for the
  library - should only be needed for linking against libraries built in a
  non-standard way.


New features
============

``numpy._core`` submodule stubs
-------------------------------

``numpy._core`` submodule stubs were added to provide compatibility with
pickled arrays created using NumPy 2.0 when running Numpy 1.26.


Contributors
============

A total of 13 people contributed to this release.  People with a "+" by their
names contributed a patch for the first time.

* Andrew Nelson
* Anton Prosekin +
* Charles Harris
* Chongyun Lee +
* Ivan A. Melnikov +
* Jake Lishman +
* Mahder Gebremedhin +
* Mateusz Sokół
* Matti Picus
* Munira Alduraibi +
* Ralf Gommers
* Rohit Goswami
* Sayed Adel


Pull requests merged
====================

A total of 20 pull requests were merged for this release.

* `#24742 <https://github.com/numpy/numpy/pull/24742>`__: MAINT: Update cibuildwheel version
* `#24748 <https://github.com/numpy/numpy/pull/24748>`__: MAINT: fix version string in wheels built with setup.py
* `#24771 <https://github.com/numpy/numpy/pull/24771>`__: BLD, BUG: Fix build failure for host flags e.g. ``-march=native``...
* `#24773 <https://github.com/numpy/numpy/pull/24773>`__: DOC: Updated the f2py docs to remove a note on -fimplicit-none
* `#24776 <https://github.com/numpy/numpy/pull/24776>`__: BUG: Fix SIMD f32 trunc test on s390x when baseline is none
* `#24785 <https://github.com/numpy/numpy/pull/24785>`__: BLD: add libquadmath to licences and other tweaks (#24753)
* `#24786 <https://github.com/numpy/numpy/pull/24786>`__: MAINT: Activate ``use-compute-credits`` for Cirrus.
* `#24803 <https://github.com/numpy/numpy/pull/24803>`__: BLD: updated vendored-meson/meson for mips64 fix
* `#24804 <https://github.com/numpy/numpy/pull/24804>`__: MAINT: fix licence path win
* `#24813 <https://github.com/numpy/numpy/pull/24813>`__: BUG: Fix order of Windows OS detection macros.
* `#24831 <https://github.com/numpy/numpy/pull/24831>`__: BUG, SIMD: use scalar cmul on bad Apple clang x86_64 (#24828)
* `#24840 <https://github.com/numpy/numpy/pull/24840>`__: BUG: Fix DATA statements for f2py
* `#24870 <https://github.com/numpy/numpy/pull/24870>`__: API: Add ``NumpyUnpickler`` for backporting
* `#24872 <https://github.com/numpy/numpy/pull/24872>`__: MAINT: Xfail test failing on PyPy.
* `#24879 <https://github.com/numpy/numpy/pull/24879>`__: BLD: fix math func feature checks, fix FreeBSD build, add CI...
* `#24899 <https://github.com/numpy/numpy/pull/24899>`__: ENH: meson: implement BLAS/LAPACK auto-detection and many CI...
* `#24902 <https://github.com/numpy/numpy/pull/24902>`__: DOC: add a 1.26.1 release notes section for BLAS/LAPACK build...
* `#24906 <https://github.com/numpy/numpy/pull/24906>`__: MAINT: Backport ``numpy._core`` stubs. Remove ``NumpyUnpickler``
* `#24911 <https://github.com/numpy/numpy/pull/24911>`__: MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
* `#24912 <https://github.com/numpy/numpy/pull/24912>`__: BUG: loongarch doesn't use REAL(10)