This is the release note of v13.5.0. See here for the complete list of solved issues and merged PRs.
💬 Join the Matrix chat to talk with developers and users and ask quick questions!
🙌 Help us sustain the project by sponsoring CuPy!
✨ Highlights
- CuPy now supports NVIDIA CUDA 12.9 and AMD ROCm 6.4 platforms, and NumPy 2.3.
- Unified Memory Programming support for HMM/ATS-enabled systems (such as NVIDIA Grace Hopper Superchip) has been added. Refer to the documentation for the usage.
- Binary packages on PyPI (wheels) can now load NCCL packages installed via Pip (e.g.,
nvidia-nccl-cu12
). In addition, Arm (aarch64) wheels are now built with NCCL support enabled.
Request for Comments
We are going to finalize the following RFC issues.
- Drop support for cuDNN in CuPy v14 (#8215)
- Update set of supported ROCm versions in CuPy v13/v14 (#8607)
- Remove
cupyx.tools.install_library
in CuPy v14 (#9204)
📝 Changes
New Features
- Support system allocated memory (#9033)
Enhancements
- Fix rocThrust build for ROCm 6.3 (#9023)
- Allow discovering cuTENSOR using major version (#9037)
- Support FIPS enabled machines with MD5 hashing (#9055)
- Update cutensornet accelerator based on cuquantum-python 25.03 deprecation (#9058)
- Refactor hashing (#9059)
- Raise user warning in both
{to,from}Dlpack
& Update the Interoperability page (#9061) - Allow build on ROCm 6.4 (#9100)
- Migrate to pyproject.toml (#9135)
- Support NCCL for aarch64 (#9141)
- Support loading NCCL from Pip packages (#9208)
- Support CUDA 12.9 and NCCL 2.26 (#9211)
- Fix
cupyx.scipy.stats.zscore
for SciPy 1.15 (#9024)
Performance Improvements
- Implement lazy load for cuquantum (#9104)
Bug Fixes
- JIT: Support empty return (#9001)
- API: Revert
toDlpack()
default to the old unversioned one (#9007) - BUG: Hot fix for numpy 2 support in some fusion paths (#9012)
- Fix compilation error of
cupy.inf
in fusion2 (#9043) - Support Cython 3.1 (#9132)
- Fix
cupyx.scipy.linalg.expm
(#9144)
Code Fixes
- Fix
get_typename
to emitthrust::complex
(#9054)
Documentation
- Add an AI policy to prohibit misuse of the issue tracker (#9095)
- Update ROCm docs (#9108)
- Docs: Update build-time requirement of Cython (#9145)
- Fix WARNING: Inline emphasis start-string without end-string (#9168)
- Improve API reference list (#9189)
- Bump supported NumPy version to v2.3 (#9203)
Installation
- Limit Cython version to 3.0 or 3.1 (#9146)
- Bump NumPy version restriction (#9166)
- Make rebuild faster for development (#9196)
- Bump version to v13.5.0 (#9212)
Tests
- CI: Do not run full CI on CUDA 12.0/12.1/12.2 + Windows (#9000)
- CI: Pin setuptools version on Windows (#9039)
- Revert "CI: Pin setuptools version on Windows" (#9056)
- Mark xfails in some spline tests for SciPy 1.15 (#9060)
- Support SciPy 1.15 (#9063)
- Skip some dtype checks with NumPy 2.x (#9064)
- Skip tests for different behavior of integer overflow from NumPy 2 (#9072)
- Skip some cupyx.scipy.special tests for SciPy 1.15 (#9073)
- Skip some tests for numerical error from NumPy 2 (#9075)
- Do
gc.collect()
in MemoryHook test code to avoidfree
hook to happen (#9093) np.sum
has numerical change in NumPy 2.3 (#9169)- Fix
cp.empty(None)
to raiseTypeError
(#9174) - CI: NumPy 2.3 (#9194)
- Add NumPy 2.3 + windows CI (#9197)
- Update pre-commit settings (#9202)
- Add
cupy.win.cuda129
CI (#9214) - Fix test trigger phrase for
cupy.win.cuda129
CI (#9217)
Others
- Allow specifying no libraries when generating wheel metadata (#9080)
- Upgrade
pre-commit
hooks (#9156)
👥 Contributors
The CuPy Team would like to thank all those who contributed to this release!
@asi1024 @Azusachan @EarlMilktea @ev-br @jakirkham @kmaehashi @leofang @MattTheCuber @rongou @seberg @yangcal