This is the release note of v13.0.0b1. 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
Improved Coverage of cupyx.scipy.signal and cupyx.scipy.interpolate APIs (#7507, #7537, #7543 and others)
More than 20 new APIs are now included in cupyx.scipy.signal.
Acknowledgments: 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.
Support for CUDA 12.2
CuPy now supports CUDA 12.2. Note that there is a known issue on CUDA 12.2 for Windows. See #7776 for details.
Removal of cupy-wheel Package
Due to the recent specification change in Pip 23.1, it became difficult for cupy-wheel to ensure detecting the CUDA version installed correctly. As discussed in RFC #7628, we have decided to remove this package in CuPy v13. To allow existing projects using cupy-wheel to continue to work, the package remains available for v12 releases.
Support us via GitHub Sponsors!
As a part of our effort to make CuPy sustainable, we have enrolled in GitHub Sponsors to accept donations. Help us to support CuPy’s development and contribute to ease the required infrastructure costs due to the need of GPU enabled CI platforms and resources to build binary packages.
As a NumFOCUS Sponsored Project, funds sponsored through the GitHub Sponsors are collected and disbursed via NumFOCUS, a 501(c)(3) public charity in the United States, which acts as the fiscal sponsor for the project.
🛠️ Changes without compatibility
- Support for the following platforms are removed in CuPy v13. (#7647)
- CUDA 10.2, 11.0, and 11.1
- Python 3.8
- NumPy 1.21
- cuTENSOR 1.5 or earlier
- NCCL 2.15 or earlier
- cuDNN 8.7 or earlier
- Ubuntu 18.04
- APIs deprecated in NumPy 1.25 (
product,cumproduct,alltrue, andsometrue) now emitsDeprecationWarningin CuPy as well. (#7645) cupy.cuda.compile_with_cache, which is a private API and has been marked deprecated since CuPy v10, has been removed. Please useRawKernelorRawModuleinstead. (#5297, #7734)
📝 Changes
New Features
- Add
cupyx.scipy.ndimage.value_indices(#7410) - Add Euclidean distance transform (
scipy.ndimage.distance_transform_edt) (#7413) - Add
cupy.scipy.linalg.bandwidthfunctionality (#7507) - cupyx.scipy.signal: add
firlsandfreqz,freqz_zpk,sosfreqz(#7537) - cupyx.scipy.signal: add CZT and ZoomFFT (#7543)
- Add
sosfilt_zitocupyx.scipy.signal(#7552) - filter design "prototypes" (#7553)
- Add
sosfiltfilttocupyx.scipy.signal(#7558) - Add
iirfilterand related filter design functions (#7591) - cupyx.scipy.signal: add
hilbertandhilbert2(#7607) - cupyx/scipy.signal: port
*ordfilter design functions fromscipy.signal(#7632) - Add
gammatone,group_delaytocupyx.scipy.signal(#7633) - Add
iir{notch,comb,peak}design functions (#7634) - Add
kaiser{ord,_beta,_atten}functions (#7635) - cupyx/scipy/signal: add
abcd_normalize(#7637) - Add
cupyx.scipy.signal.minimum_phase(#7638) - Add
find_peaks,peak_prominences,peak_widthstocupyx.scipy.signal(#7640) - Add
cupyx.signal.{freqs, freqs_zpk, findfreqs}(#7641) - cupyx/scipy/signal: add
unique_roots,invres{z},residue{z}(#7644) - cupyx/scipy/signal: add missing LTI format conversions (#7652)
- Implement
scipy.linalg.khatri_rao(#7659) - Add
LTIclass hierarchy andlti/dltirelated functions (#7660) - cupyx/scipy/signal: add
correlation_lags(#7707) - Add 1D signal b-splines to
cupyx.scipy.signal(#7715) - Add the matrix exponential
expm(#7744)
Enhancements
- Let the user specify a starting vector for
eigsh(#7487) cupy.kroncan accept numeric arguments, replicating numpy.kron behavior (#7608)- Deprecate support for out-dated platforms in CuPy v13 (#7647)
- Add mixed precision (FP16) support for ROCm (#7663)
- Minor updates for cuQuantum/cuTensorNet support (#7723)
- Bump mypy version to 1.4.1 (#7735)
- Support CUDA 12.2 (#7748)
- Avoid overflow warnings in test_astype_strides (#7622)
- Deprecate
cupy.round_(#7623) - Deprecate
product,cumproduct,alltrueandsometrue(#7645)
Bug Fixes
- Fix returned CUDA statuses not being checked (#7613)
- Fix memory pool to try resolve fragmentation when limit is set (#7679)
- Fix cuSPARSE error message (#7680)
- Fix type/exception annotations in cuSPARSE binding (#7692)
- Update pylibcugraph weakly connected components call (#7693)
- Fix
aweightstype not checked incupy.cov(#7701) - Temporarily disable CUB histogram (#7708)
- Improve detection for package installation source on Windows (#7709)
- Revert FP16 headers from CUDA 12.2.0 to CUDA 12.1.1 (#7758)
Code Fixes
- Introduce
cython-lint(#7508) - Remove
cupy.cuda.compile_with_cache(#7734) - Cosmetic changes of cupy/typing (#7738)
- MAINT: centralize
np.rootscalls (#7740)
Documentation
- Improve README and Installation Guide (#7580)
- update badges (#7594)
- Fix small typos in docstrings (#7655)
- Fix docstring of
asarray(#7668) - Remove incorrect
cupyx.distributed.NCCLBackend.all_gathercomment (#7746) - Add CUDA 12.2 to list of supported CUDA (#7753)
- Fix Note highlight sections in README (#7767)
- Note device sync on some cupyx.scipy.signal API documents (#7771)
- Add notes for CUDA 12.2 on Windows support (#7777)
Installation
Tests
- Bump versions of static checkers (#7595)
- Fix build-cuda test
restore-keysnot working (#7610) - Fix
hilbertandhilbert2test condition (#7619) - Change test pass condition for TestChoiceChi::test_goodness_of_fit (#7626)
- cupyx/signal: skip tests against older SciPy versions, adjust test tolerances (#7627)
- Fix
test_fhtnot to feedcupy.ndarraytoscipy.fft.fhtoffset(#7643) - Ignore
pkg_resourcesdeprecation warning on import (#7653) - Skip
TestLOBPCG::test_maxit_Nonein CUDA 12.1.1 & cuSOVLER 11.4.5 (#7669) - Bump CUDA minor versions used in CI (#7682)
- XFAIL known test failures in cuSPARSE module (#7688)
- Allow specifying Docker repository for CI images (#7689)
- Use "/test" tag configuration from pull-request base branch (#7705)
- CI: remove explicit Cython installation (#7729)
- Fix
test_sum_duplicates_incompatibilityfor SciPy 1.11 (#7763)
Others
- Fix command in issue template for Windows (#7601)
- Fix flake8-cython not working (#7602)
- Add workflow to automatically updating Pull-Request dashboard project (#7631)
- Dump event payload for debugging (#7646)
- Pass pull-request number via artifact (#7648)
- Use GitHub App to update org-wide project (#7649)
- Do not trigger on closed pull-requests and fix to work with
issue_commenttrigger (#7650) - Fix project automation to skip when pull-request is already closed (#7658)
- Add env var to disable
RPATH(#7691) - Fix project update workflow (#7710)
- Fix
github-tokenused in workflow (#7712) - Bump version to v13.0.0b1 (#7754)
- Add workflow to publish to PyPI (#7779)
👥 Contributors
The CuPy Team would like to thank all those who contributed to this release!
@12rambau @andfoy @asi1024 @ev-br @grlee77 @jglaser @jmbr @jnke2016 @kmaehashi @KyanCheung @leofang @pelmers @pnunna93 @pri1311 @RandomY-2 @sametz @takagi