This is the release note of v8.1.0. See here for the complete list of solved issues and merged PRs.
Highlights
CUDA 11.1 Support
Support for CUDA 11.1 is added in #4184, with CUDA 11.1, GeForce RTX 30 series and Quadro RTX series can now be used in CuPy.
Notes on Wheel Packages
Update (2020-11-25): cupy-cuda111 is now available on PyPI.
CuPy for CUDA 11.1 (
cupy-cuda111) wheel packages are currently only available for Windows. We are going to publish Linux wheels once we get approval from the PyPI team. Meanwhile, Linux wheels can be downloaded from the Assets section below (or pip install cupy-cuda111 -f https://github.com/cupy/cupy/releases/tag/v8.1.0).
New Features
- Add sparse pointwise equality & inequality functions (#4004)
- Add
cudaGetDeviceProperties(#4103) - Add
orderoption incupy.testing.shaped_random(#4104) - Add support for CUDA 11.1 (#4191)
Enhancements
- Bump cuDNN to v8.0.4 (#4069)
- Show numpy and scipy versions in
show_config(#4079) - Support pickling
cupy.RawKernel(#4154)
Bug Fixes
- Fix
csr2cscfor zero-size matrix (#3922) - Add a kernel for integer GEMM (#4067)
- Fix potential segfault when reduction axis is empty (#4068)
- Workaround cudaPointerGetAttributes error in CUDA 10.2+ (#4089)
- Add work-around for issue in cutensorReduction of cuTENSOR 1.2.1 (#4098)
- Fix
argmaxandargminfor F-order inputs (#4106) - Fix CUB block reduction for F-order arrays with ndim > 2 (#4109)
- ROCm: Fix
getDevicePropertiesfor HIP (#4113) - Fix
argmax/argminin CUB block reduction for F-order arrays with ndim > 1 (#4115) - Fix typos in
cupy.cuda.cufft(#4117) - Handle
np.nanandnp.infconstant values properly in ndimage functions (#4133) - Fix 64-bit int types in
type_dispatcher.cuh(#4134) - Add
compute_35for CUDA 11.0+ (#4140) - Fix device properties for cuda 9.2 (#4152)
- fix mode='opencv' case in cupyx.scipy.ndimage.affine_transform (#4158)
- Fix
argwherefor 0d inputs (#4174) - Fix to use current stream properly with CUDA-related libraries (#4175)
- Add compute capability checking for cublasGemmEx() (#4180)
- Fix cupyx.seterr() when
linalgnot supplied (#4189) - Fix
nonzerofor 0d inputs (#4190)
Code Fixes
- Rename submodules under
cupyx.scipy.sparse(#3959) - Rename submodule under
cupy.fftpackage (#4066) - Hide private names in
cupy.cusolver(#4076) - Move
_normalize_axis_indextocupy/core/internal.pyx(#4086) - Rename
cupyx.rsqrtsubmodule (#4116) - Rename submodules under
cupyx.scipy.special(#4119) - Move
matmulfromcore.pyxto_routine_linalg.pyx(#4123) - Hide private names in
cupy.cutensor(#4147) - Rename
cupy.manipulationsubmodule tocupy._manipulation(#4181) - Rename
cupy.iosubmodule tocupy._io(#4183) - Rename submodule under
cupyx.scipy.fft(#4186) - Rename submodules under
cupy.linalgpackage (#4187)
Documentation
- Fix typo (#4056)
- Update README and docs for a unified tagline (#4074)
- Improve the plan cache documentation (#4087)
- Simplify ROCm install guide (#4128)
Installation
- Add
CUDA_VERSIONdefine for Cython compilation (#4035)
Tests
- Require SciPy 1.2 for sparse comparison (#4041)
- Make parameterized dtype test skip by
pytest.skip(#4179) - Code fix on tests for
cupyx.scipy.ndiamgestats functions (#4182) - Fix tests that have side effects (#4185)
HIP/ROCm
- ROCm: Fix bugs and test suites to make ROCm/HIP happy - Part 2 (#4063)
- ROCm: Build on the latest ROCm (#4126)
Others
- Bump version to v8.1.0 (#4195)
Contributors
The CuPy Team would like to thank all those who contributed to this release!