This is the release note of v10.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
CuPy now supports CUDA 11.4 (cupy-cuda114)
Along with the new CUDA toolkit version, support for NCCL 2.10.3 and cuDNN 8.2.2 libraries is added.
Compute capability 86 support for GPUs of the RTX 30X0 and AX000 series is also added.
Google Summer of Code
CuPy is participating in Google Summer of Code under the NumFOCUS organization.
Our student @povinsahu1909 is working hard to add support for sparse linear algebra solvers and increasing the compatibility of the new random number generation API.
Compile with SASS (CUBIN) for CUDA versions >= 11.1 (#5097)
Changes NVRTC compile process to produce SASS (CUBIN files) instead of PTX so that kernels compiled with a new CUDA Toolkit version can be run with earlier CUDA Drivers. Check the CUDA Compatibility Guide and NVRTC Documentation for detailed information.
Changes without compatibility
Support the new DLPack exchange protocol (#5306)
By adopting the new DLPack exchange protocol proposed in the Python array API standard, cupy.fromDlpack has been deprecated in favor of cupy.from_dlpack.
Known Issues
cupy-cuda102,cupy-cuda110andcupy-cuda111wheels are not available yet in PyPI. In the meantime, they can be downloaded from the Assets section below. See #4971 for detailed instructions.
Changes
New Features
- Texture memory 2D/3D affine transformations (#5171)
- Support the new DLPack exchange protocol (#5306)
- Add cupyx.scipy.sparse.linalg.lsmr (#5331)
- JIT: Support all atomic intrinsics (#5387)
- Expose
_GUFuncthroughcupyx(#5408) - Add geometric distribution to new Generator (#5443)
- Support Numba-like
jit.gridsize()syntax in CuPy JIT (#5461) - Support Numba-like
jit.laneid()andjit.warpsizesyntax in CuPy JIT (#5462) - Add cupyx.scipy.sparse.linalg.cgs (#5524)
- Add hypergeometric distribution to new Generator (#5560)
Enhancements
- Compile with SASS for CUDA versions >= 11.1 (#5097)
- Support NCCL v2.9.9 (#5268)
- Support CUDA 11.4 and
compute_86(#5434) - Update NumPy/SciPy pinning in
setup.py(#5453) - Make
matrix_powersupport stacked matrices (#5458) - Support hipSPARSE and fix streams not set in some generic APIs in cuSPARSE (#5472)
- Add
cudaDeviceDisablePeerAccesswrapper (#5495) - Support cuDNN v8.2.2 (#5516)
- Support NCCL v2.10.3: library installer and document (#5521)
Bug Fixes
- JIT: Fix supported dtype of
atomic_addon HIP (#5383) - Fix cupy.nanmedian's axis parameter to accept a sequence other than a tuple (#5389)
- Fix astype from boolean (#5410)
- Fix compatibility issues of
ndarray.view(#5428) - Fix
typesattribute of ufunc (#5448) - Fix new DLPack protocol error messages and tests (#5449)
texture_memoryoption inaffine_transformnot supported by HIP (#5464)- Fix
linalg.lstsqfor empty matrix (#5467) - Fix reshape (#5470)
- Fix random generator output not being raveled (#5478)
- Fix random
integers(#5479) - Fix availability tests in cuSOLVER and cuSPARSE (#5492)
- Add missing hipSPARSE include to builder (#5515)
- prune cuFFT static lib by major cc ver (#5531)
- Fix casts from bool in ufunc inputs (#5539)
- Access
cudaMemoryTypein the pointer attributes and fix for HIP (#5544) - Fix casts in ufunc outputs (#5550)
- Code fix for {cu, roc}SOLVER (#5558)
- Fix CUDA API call on module initialization (#5561)
- Fix the RTC call path for HIP (#5569)
- Fix broadcast error messages (#5579)
Code Fixes
- Do not call
cudnnGetVersionon import (#5326) - JIT: Fix
__call__()for built-in functions (#5361) - Add HIP symbol redefinitions (#5362)
- Remove the data member
use_32bit_indexingfromCArray(#5376) - Use
dtype.nameinsteaddtype.char(#5444) - Try to use
-Iin hipRTC (#5486) - Hide modules from public APIs (#5522)
- consistent kernel names (#5551)
- Use the new macro
__HIP_PLATFORM_AMD__at build time (#5554)
Documentation
- Add upgrade guide for v10 (#5278)
- Update tag lines in package description and docs index (#5399)
- Fix typo in
apply_along_axis(#5432) - Fix indent of
Returnssection (#5433) - Update
user_guide/basic.rstdevice agnostic section (#5435) - Support CUDA 11.4 on documents (#5447)
- Update install guide with new NumPy/SciPy versions (#5454)
- Use
from_dlpackinstead of fromDlpack (#5488) - Use Sphinx 4.1.0 (#5489)
- Bump ReadTheDocs configuration to version 2 (#5491)
- Fix docs of eigh and eigvalsh (#5494)
- Add a lingering doc page for
fromDlpack()(#5509) - Document
scipy.fftbackend usage (#5514) - Replaced the links for NumPy docs as per issue #3418 (#5548)
- Use Sphinx's
envvarconstruct (#5570) - Fix intersphinx for SciPy 1.7.1 docs (#5587)
Installation
Tests
- Add tests for num_to_num's optional parameters (#5337)
- Add script for ROCm CI on Jenkins (#5378)
- Skip unwrap tests for
numpy<1.21(#5384) - Enable strict xfail in pytest (#5407)
- Remove xfail in windows jitify test (#5409)
- Fix preloading slow tests (#5440)
- Add script for CUDA 11.4 CI on FlexCI (#5457)
- Increase memory for CUDA 11.4 tests (#5477)
- Fix DLPack test for ROCm/HIP (#5485)
- Fix "Revert test decorators order" (#5498)
- Fix some tests for HIP (#5501)
- Fix FlexCI Linux tests (#5505)
- Add CUDA 11.4 for FlexCI helper script (#5528)
- Increase timeout for CUDA 11.4 tests (#5575)
- Update tests to install all requirements and add PATH (#5576)
- Add Cython to
allrequirements (#5577)
Others
- Notify conflict by mergify (#5371)
- Fix mergify to only comment when pull-request is open (#5439)
- Fix mergify condition (#5513)
- Add auto notify bot for
hiplabel (#5538) - Use
pull_request_targetinstead for auto notify bot (#5541) - Fix auto notify bot for issues (#5546)
- Disable Mergify's auto-merge (#5556)
- Bump version to v10.0.0b1 (#5595)
- Fix signal tests for scipy 1.7.0 (#5368)
- Fix
numpy.unwrapfor NumPy 1.21 (#5385) - Fix signaltools
medfiltforscipy>=1.7.0(#5386) - Fix deprecated
numpy.typeDictutilization (#5388)
The CuPy Team would like to thank all those who contributed to this release!
@12rambau @grlee77 @leofang @maxim-belkin @Palash-Vishnani @povinsahu1909 @the-lay