Skip to content

2.2.0

Latest

Choose a tag to compare

@antonwolfy antonwolfy released this 04 May 22:46
· 16 commits to master since this release
61f2195

Overview

This release introduces NumPy patching functionality, improves FFT performance consistency, and modernizes dependency management. Python 3.9 support has been dropped, and mkl-service is now an optional dependency.

Highlights

🎯 NumPy FFT Patching

  • New API for seamlessly patching NumPy FFT with Intel MKL optimizations
  • Context manager support for temporary patching
  • Functions to query patch status and control patching explicitly

Performance Improvements

  • Enhanced shape checking in N-D FFT functions for better performance consistency
  • More frequent use of faster direct transforms

📦 Improved Dependency Management

  • mkl-service is now an optional dependency
  • Configurable NumPy dependency in conda recipes

⚠️ Breaking Changes

  • Python 3.9 support dropped - Minimum supported version is now Python 3.10+

Python Version Support

  • ✅ Python 3.10, 3.11, 3.12, 3.13, 3.14
  • ❌ Python 3.9 and earlier

Detailed Changes

Added

  • Added mkl_fft patching for NumPy, with mkl_fft context manager, is_patched query, and patch_numpy_fft and restore_numpy_fft calls to replace numpy.fft calls with calls from mkl_fft.interfaces.numpy_fft gh-224, gh-295

Changed

  • In mkl_fft.fftn and mkl_fft.ifftn, improved checking of the shape argument s to use faster direct transforms more often. This makes performance more consistent between mkl_fft.fftn/ifftn and mkl.interfaces. gh-283
  • Made mkl-service an optional dependency gh-305
  • Made conda recipe dependency on numpy configurable through USE_NUMPY_BASE environment variable gh-299

Removed

  • Dropped support for Python 3.9 gh-243

Fixed

  • Fix TypeError exception raised with empty axes gh-288
  • To return input array unchanged when axes=() (ignore out parameter) gh-293

Contributors

New Contributors

Full Changelog: 2.1.2...2.2.0