This is the release note of v13.0.0a1. See here for the complete list of solved issues and merged PRs.
We are running a Gitter chat for general discussions and quick questions. Feel free to join the channel to talk with developers and users!
Highlights
CuPy v13 Roadmap and Revised Release Schedule
- We have published a list of feature roadmaps for CuPy v13 planned to be released in October 2023. See #7555 for the details.
- Starting in the CuPy v13 development cycle, we have adjusted our release frequency to once every two months. Mid-term or hot-fix releases may be provided depending on necessity, such as for new CUDA/Python version support or critical bug fixes. This new policy also applies to v12 releases.
- RFC: We plan to drop CUDA 10.2/11.0/11.1 support in CuPy v13. Please leave a comment on #7557 if you have any suggestions.
- RFC: We are thinking of improving PyTorch interoperability features in CuPy. If you are interested, please join the discussion in #7556.
Improved Coverage of cupyx.scipy.signal and cupyx.scipy.interpolate APIs (#7442, #7496 and others)
lfilter, lfilter_zi, filtfilt, sosfilt APIs are now included in cupyx.scipy.signal, and NdPPoly in cupyx.scipy.interpolate modules.
Acknowledgements: This work was done by Edgar Andrés Margffoy Tuay (@andfoy) and Evgeni Burovski (@ev-br) under the support of the Chan Zuckerberg Initiative's Essential Open Source Software for Science program.
Random number generator performance improved (#7517)
Sampling using cupy.random.Generator.* methods were slower than the cupy.random.* function calls using the old random API. Now the regression is solved, and performance has increased more than 4X when using the cupy.random.Generator API.
Changes without compatibility
Drop support for Python 3.8
Getting aligned with NumPy NEP29, Python 3.8 is no longer supported since CuPy v13.
Changes
New Features
- Add
NdPPolytocupyx.scipy.interpolate(#7357) - Implement
delete function, add documentation (#7359) - add array_api.take function (#7432)
- Add lfilter/IIR utilities to cupyx.scipy.signal (#7442)
- Added
scipy.special.binomfunctionality to CuPy (#7463) cupyx/scipy/signal: add savgol_coeffs and savgol_filter (#7469)- Add
scipy.special.zetacto cupyx (#7470) - add
cupyx.scipy.special.exprel(#7474) - Add
lfiltic and lfilter_zitocupyx.scipy.signal(#7477) - Add
filtfilttocupyx.scipy.signal(#7496) - Add
deconvolvetocupyx.scipy.signal(#7509) - Add
symiirorder1tocupyx.scipy.signal(#7511) - Add
symiirorder2tocupyx.scipy.signal(#7518) - Add
scipy.special.spherical_yn(#7520) - Add
sosfiltto cupyx.scipy.signal (#7528) - ENH:
scipy.signal: add detrend (#7536) cupyx.scipy.signal: addbilinear&bilinear_zpk(#7541)
Enhancements
- Support SciPy 1.10 (#7367)
- ROCm5.3.0+ rocPrim C++14 extension requirement. (#7412)
- Support cuDNN 8.8 (#7472)
- Support CUDA 12.1 (#7473)
- Support NumPy 1.24:
dtypeandcastingkeyword arguments forhstack,vstack,stack(#7490) - Replace
concatenateby slice manipulation inlfilter(#7522) - Support NumPy 1.24: Adding
strictoption totesting.assert_array_equal(#7481)
Performance Improvements
Bug Fixes
- Fix new strides when array is both C and F-contiguous (#7438)
- Fixup array/asarray call to prefer C order on plain NumPy arrays (#7457)
- Fix cudart errors raised by texture APIs swallowed by Cython (#7540)
- Dispatch ufunc methods (#7572)
Code Fixes
Documentation
- Add comparison table for
scipy.interpolatemodule (#7433) - Update list of supported libraries (#7478)
- Update aarch64 install insturctions (#7500)
- Fix RTD build failure (#7547)
Installation
- Bump version to v13.0.0a1 (#7494)
- Use
-Xfatbin=-compress-all(#7497) - Fix
_depends.jsonnot included in wheel (#7578)
Tests
- Remove unused test decorators (#7453)
- Remove xfail for invh (#7476)
- Bump platform versions used in actions (#7488)
- Fix TestBSpline::test_design_matrix_same_as_BSpline_call (#7521)
- Mark scipy required in a test (#7523)
- Require newer SciPy in a test (#7524)
- Import SciPy in tests (#7531)
- Restore GitHub Actions cache with prefix match (#7546)
- Try to fix nan value mismatches in filtfilt tests (#7567)
- Fix CUDA Python CI failure (#7574)
Others
Contributors
The CuPy Team would like to thank all those who contributed to this release!
@AdrianAbeyta @Anas20001 @andfoy @arogozhnikov @asi1024 @chettub @emcastillo @ev-br @kmaehashi @KyanCheung @leofang @pri1311 @Raghav323 @seberg @takagi @tysonwu