Примечания к выпуску NumPy 1.26.1#
NumPy 1.26.1 — это релиз технического обслуживания, который исправляет ошибки и регрессии, обнаруженные после релиза 1.26.0. Кроме того, он добавляет новую функциональность для обнаружения BLAS и LAPACK при сборке из исходного кода. Основные моменты:
Улучшенное обнаружение библиотек BLAS и LAPACK для сборок meson
Совместимость pickle с предстоящим NumPy 2.0.
Серия выпусков 1.26 — это последняя запланированная минорная серия выпусков перед NumPy 2.0. Версии Python, поддерживаемые этим выпуском: 3.9-3.12.
Изменения в системе сборки#
Улучшенное обнаружение и управление BLAS/LAPACK#
Автоматическое обнаружение ряда BLAS и LAPACK теперь реализовано для Meson. По умолчанию система сборки будет пытаться обнаружить MKL, Accelerate (на macOS >=13.3), OpenBLAS, FlexiBLAS, BLIS и эталонные BLAS/LAPACK. Поддержка MKL была значительно улучшена, а поддержка FlexiBLAS была добавлена.
Доступны новые флаги командной строки для дальнейшего контроля выбора библиотек BLAS и LAPACK для сборки.
Для выбора конкретной библиотеки используйте интерфейс config-settings через pip или
pypa/build. Например, чтобы выбрать libblas/liblapack, используйте:
$ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
$ # OR
$ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
Это работает не только для библиотек, указанных выше, но и для любой библиотеки, которую
Meson может обнаружить с заданным именем через pkg-config или CMake.
Кроме того -Dblas и -Dlapack, доступен ряд других новых флагов для управления выбором и поведением BLAS/LAPACK:
-Dblas-orderи-Dlapack-order: список имён библиотек для поиска в порядке, переопределяющем порядок поиска по умолчанию.-Duse-ilp64: если установлено вtrue, используйте ILP64 (64-битное целое) BLAS и LAPACK. Обратите внимание, что в этом выпуске поддержка ILP64 была расширена для включения MKL и FlexiBLAS. OpenBLAS и Accelerate поддерживались в предыдущих выпусках.-Dallow-noblas: если установлено вtrue, позволяет NumPy собираться с внутренними (очень медленными) резервными процедурами вместо линковки с внешней библиотекой BLAS/LAPACK. Значение по умолчанию для этого флага может быть изменено на ``true`` в будущем релизе 1.26.x, однако для 1.26.1 мы предпочитаем оставить его как ``false``, потому что если возникают сбои в обнаружении установленной библиотеки, мы хотим получить отчёт об ошибке для этого, чтобы быстро оценить, нужны ли дальнейшие улучшения нового механизма автоопределения.-Dmkl-threading: для выбора слоя потоков для MKL. Есть четыре варианта:seq,iomp,gompиtbb. По умолчаниюauto, который выбирает из этих четырех в зависимости от версии MKL.-Dblas-symbol-suffix: вручную выберите суффикс символа для использования в библиотеке - должно потребоваться только для линковки с библиотеками, собранными нестандартным способом.
Новые возможности#
numpy._core заглушки подмодулей#
numpy._core заглушки подмодулей были добавлены для обеспечения совместимости с сериализованными массивами, созданными с использованием NumPy 2.0, при запуске NumPy 1.26.
Участники#
Всего 13 человек внесли вклад в этот выпуск. Люди со знаком «+» рядом с их именами внесли патч впервые.
Andrew Nelson
Anton Prosekin +
Чарльз Харрис
Chongyun Lee +
Ivan A. Melnikov +
Jake Lishman +
Mahder Gebremedhin +
Mateusz Sokół
Matti Picus
Munira Alduraibi +
Ralf Gommers
Rohit Goswami
Sayed Adel
Объединенные pull request'ы#
Всего 20 pull request'ов были объединены для этого релиза.
#24742: MAINT: Обновление версии cibuildwheel
#24748: MAINT: исправить строку версии в колесах, собранных с помощью setup.py
#24771: BLD, BUG: Исправлена ошибка сборки для флагов хоста, например
-march=native…#24773: DOC: Обновлена документация f2py для удаления примечания о -fimplicit-none
#24776: BUG: Исправление теста SIMD f32 trunc на s390x при отсутствии базовой линии
#24785: BLD: добавление libquadmath в лицензии и другие исправления (#24753)
#24786: MAINT: Активировать
use-compute-creditsдля Cirrus.#24803: BLD: обновлен vendored-meson/meson для исправления mips64
#24804: MAINT: исправление пути лицензии в Windows
#24813: BUG: Исправлен порядок макросов обнаружения ОС Windows.
#24831: BUG, SIMD: использовать скалярное cmul на плохом Apple clang x86_64 (#24828)
#24840: BUG: Исправление операторов DATA для f2py
#24870: API: Добавить
NumpyUnpicklerдля обратного портирования#24872: MAINT: Xfail тест, который не проходит на PyPy.
#24879: BLD: исправление проверок функций математики, исправление сборки FreeBSD, добавление CI…
#24899: ENH: meson: реализация автоматического обнаружения BLAS/LAPACK и множество CI…
#24902: DOC: добавлен раздел заметок о выпуске 1.26.1 для сборки BLAS/LAPACK…
#24906: MAINT: Обратный порт
numpy._coreзаглушки. УдалитьNumpyUnpickler#24911: MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
#24912: BUG: loongarch не использует REAL(10)