Написать пост

На улице ML-специалистов праздник: состоялся крупнейший апдейт NumPy за последние 18 лет

Новости

Команда NumPy выпустила релиз под версией 2.0.0 — первый мажорный релиз с 2006 года. Новых возможностей появилось немерено

На улице ML-специалистов праздник: состоялся крупнейший апдейт NumPy за последние 18 лет

NumPy, популярная Python-библиотека для научных вычислений, получила первое мажорное обновление с 2006 года — NumPy 2.0.0.

Этот апдейт является результатом титанической работы команды разработчиков. Он включает в себя множество нововведений, улучшений производительности и изменений в API, как для Python, так и для C.

Новые функции NumPy 2.0.0

Одной из самых значимых новинок библиотеки стало добавление нового типа данных для строк переменной длины StringDType, а также нового пространства имен numpy.strings с высокопроизводительными функциями для обработки строк.

Также в инструмент внедрили поддержку float32 и longdouble во всех функциях numpy.fft и соответствие стандарту Array API в основном пространстве имен библиотеки.

Улучшения производительности

Функции сортировки, такие как sort, argsort, partition и argpartition, были ускорены благодаря использованию библиотек Intel x86-simd-sort и Google Highway.

Потенциально это может привести к значительному бусту производительности, в зависимости от аппаратного обеспечения.

Добавлена также поддержка macOS Accelerate и уменьшен размер бинарных файлов для macOS 14 и новее, что значительно ускоряет линейную алгебру на этих системах.

Улучшения Python API

NumPy 2.0.0 также ввел четкое разделение между публичным и приватным API с новой модульной структурой, что упрощает использование библиотеки.

Было удалено множество устаревших функций и алиасов, что сделало инструмент более понятным для новых пользователей. Кроме того, были добавлены новые функции introspection, такие как isdtype и канонические имена для типов данных.

Обновления C API

В новом релизе также был обновлен публичный C API для создания пользовательских типов данных, удалены устаревшие функции и макросы, а также скрыты приватные внутренние части для упрощения расширяемости в будущем.

Добавлены новые функции инициализации: PyArray_ImportNumPyAPI и PyUFunc_ImportUFuncAPI.

Обратная совместимость и переход

Несмотря на множество улучшений, некоторые изменения нарушают обратную совместимость.

Это связано с обновлением ABI и изменениями в API, которые могут требовать адаптации существующего кода. Пользователям рекомендуется обновить свои IDE и токены доступа, чтобы избежать проблем совместимости.

Для более подробной информации об обновленной библиотеки, загляните на официальный сайт NumPy.

Следите за новыми постами
Следите за новыми постами по любимым темам
435 открытий6К показов