Skip to content

Releases: cupy/cupy

v11.0.0

28 Jul 07:58
9bddf35
Compare
Choose a tag to compare

This is the release note of v11.0.0. See here for the complete list of solved issues and merged PRs.

This release note only covers changes made since v11.0.0rc1 release. Check out our blog for highlights in the v11 release!

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-wheel package

Currently, downstream projects depending on CuPy had a hard time specifying a binary wheel as a dependency, and it was the users’ responsibility to install the correct package in their environments. CuPy v10 introduced the experimental cupy-wheel meta-package. In this release, we declare this feature ready for production environments. cupy-wheel will examine the users’ environment and automatically select the matching CuPy binary wheel to be installed.

Changes

For all changes in v11, please refer to the release notes of the pre-releases (alpha1, alpha2, beta1, beta2, beta3, rc1).

Enhancements

  • Support deg in cupy.angle (#6909)
  • Update cupy-wheel for v11 (#6913)
  • Relaxed C-contiguous requirement for changing dtype of different size (#6850)

Bug Fixes

  • Generate CUBIN for all supported GPUs at build time (#6881)
  • Fix real and imag in subclass (#6907)

Code Fixes

  • Fix function names (#6878)

Documentation

  • Fix ROCm supported versions in compat matrix (#6851)
  • Generate docs for private classes in one location (#6858)

Installation

  • Bump version to v11.0.0 (#6915)

Tests

  • Update tags for FlexCI projects (#6860)
  • CI: Add ROCm 5.1 and 5.2 (#6861)
  • Add config for cupy.win.cuda117 (#6885)

Others

  • Bump branch version to v11 (#6845)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@emcastillo @kmaehashi @takagi

v11.0.0rc1

30 Jun 06:53
15b74fe
Compare
Choose a tag to compare
v11.0.0rc1 Pre-release
Pre-release

This is the release note of v11.0.0rc1. See here for the complete list of solved issues and merged PRs.

We are going to release v11.0.0 on July 28th. Please start testing your workload with this release candidate (pip install --pre cupy-cuda11x -f https://pip.cupy.dev/pre). See the Upgrade Guide for the list of possible breaking changes.

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

Support CUDA 11.7 (#6767)

Full support for CUDA 11.7 has been added as of this release. Binary packages can be installed with the following command: pip install --pre cupy-cuda11x -f https://pip.cupy.dev/pre

Unified Binary Package for CUDA 11.2 or later (#6730)

CuPy v11 provides a unified binary package named cupy-cuda11x that supports all CUDA 11.2+ releases. This replaces per-CUDA version binary packages (cupy-cuda112, cupy-cuda113, …, cupy-cuda117) provided in CuPy v10 or earlier.

Note that CUDA 11.1 or earlier still requires per-CUDA version binary packages. cupy-cuda102, cupy-cuda110, and cupy-cuda111 will be provided for CUDA 10.2, 11.0, and 11.1, respectively.

Binary Package for Arm Platform (#6705)

CuPy v11 provides cupy-cuda11x binary package built for aarch64, which supports CUDA 11.2+ Arm SBSA and JetPack 5.
These wheels are available through our Pip index: pip install --pre cupy-cuda11x -f https://pip.cupy.dev/aarch64

Support for ndarray subclassing (#6720, #6755)

This release allows users to subclass cupy.ndarray, using the same protocol as NumPy:

class C(cupy.ndarray):

    def __new__(cls, *args, info=None, **kwargs):
        obj = super().__new__(cls, *args, **kwargs)
        obj.info = info
        return obj

    def __array_finalize__(self, obj):
        if obj is None:
            return
        self.info = getattr(obj, 'info', None)

a = C([0, 1, 2, 3], info='information')
assert type(a) is C
assert issubclass(type(a), cupy.ndarray)
assert a.info == 'information'

Note that view casting and new from template mechanisms are also supported as described by the NumPy documentation.

Add Collective Communication APIs in cupyx.distributed for Sparse Matrices

All the collective calls implemented for dense matrices now support sparse matrices. Users interested in this feature should install mpi4py in order to perform an efficient metadata exchange.

Google Summer of Code 2022

We would like to give a warm welcome to @khushi-411 who will be working in adding support for the cupyx.scipy.interpolate APIs as part of her GSoC internship!

Changes without compatibility

Bump base Docker image to the latest supported one (#6802)

CuPy official Docker images have been upgraded. Users relying on these images may suffer from compatibility issues with preinstalled tools or libraries.

Changes

New Features

  • Add cupy.setxor1d (#6582)
  • Add initial cupyx.spatial.distance support from pylibraft (#6690)
  • Support cupy.ndarray subclassing - Part 2 - View casting (#6720)
  • Add sparse broadcast (#6758)
  • Add sparse reduce (#6761)
  • Add sparse all_reduce and minor fixes (#6762)
  • Add sparse all_to_all, reduce_scatter, send_recv (#6765)
  • Subclass cupy.ndarray subclassing - Part 3 - New from template (ufunc) (#6775)
  • Add cupyx.scipy.special.log_ndtr (#6776)
  • Add cupyx.scipy.special.expn (#6790)

Enhancements

  • Utilize CUDA Enhanced Compatibility (#6730)
  • Fix to return correct CUDA version when in CUDA Python mode (#6736)
  • Support CUDA 11.7 (#6767)
  • Make the warning for cupy.array_api say "cupy" instead of "numpy" (#6791)
  • Utilize CUDA Enhanced Compatibility in all wrappers (#6799)
  • Add support for cupy-cuda11x wheel (#6800)
  • Bump base Docker image to the latest supported one (#6802)
  • Remove CUPY_CUDA_VERSION as much as possible (#6810)
  • Raise UserWarning in cupy.cuda.compile_with_cache (#6818)
  • cupy-wheel: Use NVRTC to infer the toolkit version (#6819)
  • Support NumPy 1.23 (#6820)
  • Fix for NumPy 1.23 (#6807)

Performance Improvements

  • Improved integer matrix multiplication performance by modifying tuning parameters (#6703)
  • Use fast convolution algorithm in cupy.poly1d.__pow__ (#6770)

Bug Fixes

  • Fix polynomial tests (#6721)
  • Fix batched matmul for integral numbers (#6725)
  • Fix cupy.median for NaN inputs (#6759)
  • Fix required cusparse symbol not loaded in CUDA 11.1.1 (#6806)

Code Fixes

  • Add type annotation in _cuda_types.py (#6726)
  • Subclass rename (#6746)
  • Add type annotation to JIT internal types (#6778)

Documentation

  • Add CUDA 11.7 on documents (#6768)
  • Improved NVTX documentation (#6774)
  • Fix docs to hide ndarray_base (#6782)
  • Update docs for cupy-cuda11x wheel (#6803)
  • Bump NumPy version used in docs (#6824)
  • Add upgrade guide for CuPy v11 (#6826)

Tests

  • Fix mempool tests (#6591)
  • CI: Fix prep script to show build failure details (#6781)
  • Fix a potential variable misuse bug (#6786)
  • Fix CI Docker image build failing in head test (#6804)
  • Tiny clean up in CI script (#6809)

Others

  • Fix docker workflow to push to latest image (#6832)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@andoorve @asi1024 @asmeurer @cjnolet @emcastillo @khushi-411 @kmaehashi @leofang @LostBenjamin @pri1311 @rietmann-nv @takagi

v10.6.0

30 Jun 06:53
18fab32
Compare
Choose a tag to compare

This is the release note of v10.6.0. See here for the complete list of solved issues and merged PRs.

This is the last planned release for CuPy v10 series. We are going to release v11.0.0 on July 28th. Please start testing your workload with the v11 release candidate (pip install --pre cupy-cuda11x -f https://pip.cupy.dev/pre). See the Upgrade Guide for the list of possible breaking changes in v11.

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

Support CUDA 11.7 (#6767)

Full support for CUDA 11.7 has been added as of this release. Binary packages can be installed with the following command: pip install cupy-cuda117

Changes without compatibility

Changes

Enhancements

  • Improve warning message in sparse (#6675)
  • Support CUDA 11.7 (#6794)
  • Make the warning for cupy.array_api say "cupy" instead of "numpy" (#6795)
  • cupy-wheel: Use NVRTC to infer the toolkit version (#6831)

Bug Fixes

  • Fix cupy.median for NaN inputs (#6760)
  • Fix batched matmul for integral numbers (#6777)

Documentation

  • Add CUDA 11.7 on documents (#6801)

Tests

  • Fix Dockerfile broken for array-api tests (#6518)
  • Skip ndimage.filter tests for ROCm 4.0 (#6676)
  • Xfail a test of LOBPCG on ROCm 5.0+ (#6733)
  • CI: Fix prep script to show build failure details (#6784)
  • Fix a potential variable misuse bug (#6788)
  • Fix CI Docker image build failing in head test (#6808)
  • Skip ndimage.filter tests for ROCm 4.0 (#6676)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @asmeurer @emcastillo @kmaehashi @LostBenjamin @takagi

v11.0.0b3

26 May 07:35
1c55be4
Compare
Choose a tag to compare
v11.0.0b3 Pre-release
Pre-release

This is the release note of v11.0.0b3. 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

Support cuTensorNet as an einsum backend (#6677) (thanks @leofang!)

A new accelerator for CuPy has been added (CUPY_ACCELERATORS=cutensornet).
This feature requires cuquantum-python >= 22.03 and cuTENSOR >= 1.5.0. And is used to accelerate and support large array sizes in the cupy.linalg.einsum API.

Changes without compatibility

Drop Support for ROCm 4.2 (#6734)

CuPy v11 will drop support for ROCm 4.2. We recommend users to use ROCm 4.3 or 5.0 instead.

Drop Support for NumPy 1.18/1.19 and SciPy 1.4/1.5 (#6735)

As per NEP29, NumPy 1.18/1.9 support has been dropped on 2021. SciPy supported versions are the one released close to NumPy supported ones.

Changes

New Features

  • Support cuTensorNet (from cuQuantum) as an einsum backend (#6677)
  • Add cupy.poly (#6697)
  • Support cupy.ndarray subclassing - Part 1 - Direct constructor call (#6716)

Enhancements

  • Support cuDNN 8.4 (#6641)
  • Support cuTENSOR 1.5.0 (#6665)
  • JIT: Use C++14 (#6670)
  • Support cuTENSOR 1.5.0 (#6722)
  • Drop support for ROCm 4.2 in CuPy v11 (#6734)
  • Drop support for NumPy 1.18/1.19 and SciPy 1.4/1.5 in CuPy v11 (#6735)
  • Fix compilation warning caused by ifdef (#6739)

Performance Improvements

  • Accelerate bincount, histogram2d, histogramdd with CUB (#6701)

Bug Fixes

  • Fix memory leak in the FFT plan cache during multi-threading (#6704)
  • Fix ifdef for ROCm >= 4.2 (#6750)

Code Fixes

  • JIT: Cosmetic change of Dim3 class (#6644)

Documentation

  • Fix imports of scatter_add example (#6696)
  • Minor improvement on the array API docs (#6706)
  • Document the returned benchmark object (#6712)
  • Use exposed name in user guide (#6718)

Tests

  • Xfail a test of LOBPCG on ROCm 5.0+ (#6603)
  • CI: Update repo for libcudnn7 in cuda10.2 (#6708)
  • Bump pinned mypy version (#6710)
  • Follow scipy==1.8.1 sparse dot bugfix (#6727)
  • Support testing CUDA 11.6+ in FlexCI (#6731)
  • Fix GPG key issue in FlexCI base image (#6738)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @Dahlia-Chehata @emcastillo @kmaehashi @leofang @takagi

v10.5.0

26 May 07:35
f0d0e7b
Compare
Choose a tag to compare

This is the release note of v10.5.0. 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!

Update (2022-06-17): Wheels for CUDA 11.5 Arm SBSA are now available in the Assets section below. (#6705)

Changes

Enhancements

  • Fix compilation warning caused by ifdef (#6740)
  • Support cuDNN 8.4 (#6741)

Bug Fixes

  • Fix memory leak in the FFT plan cache during multi-threading (#6732)
  • Fix ifdef for ROCm >= 4.2 (#6751)

Documentation

  • Minor improvement on the array API docs (#6714)
  • Document the returned benchmark object (#6742)

Tests

  • CI: Update repo for libcudnn7 in cuda10.2 (#6709)
  • Pin mypy version in setup.py (#6711)
  • Follow scipy==1.8.1 sparse dot bugfix (#6728)
  • Support testing CUDA 11.6+ in FlexCI (#6737)
  • Fix GPG key issue in FlexCI base image (#6743)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @emcastillo @kmaehashi @leofang @takagi

v11.0.0b2

27 Apr 07:44
88138d3
Compare
Choose a tag to compare
v11.0.0b2 Pre-release
Pre-release

This is the release note of v11.0.0b2. 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

JIT Improvements (#6620, #6640, #6649, #6668)

CuPy JIT has been further enhanced thanks to @leofang and @eternalphane!
It is now possible to use CUDA cooperative groups and access .shape and .strides attributes of ndarrays.

import cupy
from cupyx import jit

@jit.rawkernel()
def kernel(x, y):
    size = x.shape[0]
    ntid = jit.gridDim.x * jit.blockDim.x
    tid = jit.blockIdx.x * jit.blockDim.x + jit.threadIdx.x
    for i in range(tid, size, ntid):
        y[i] = x[i]
    g = jit.cg.this_thread_block()
    g.sync()

x = cupy.arange(200, dtype=cupy.int64)
y = cupy.zeros((200,), dtype=cupy.int64)
kernel[2, 32](x, y)

print(kernel.cached_code)

The above program emits the CUDA code as follows:

#include <cooperative_groups.h>
namespace cg = cooperative_groups;

extern "C" __global__ void kernel(CArray<long long, 1, true, true> x, CArray<long long, 1, true, true> y) {
  ptrdiff_t i;
  ptrdiff_t size = thrust::get<0>(x.get_shape());
  unsigned int ntid = (gridDim.x * blockDim.x);
  unsigned int tid = ((blockIdx.x * blockDim.x) + threadIdx.x);
  for (ptrdiff_t __it = tid, __stop = size, __step = ntid; __it < __stop; __it += __step) {
    i = __it;
    y[i] = x[i];
  }
  cg::thread_block g = cg::this_thread_block();
  g.sync();
}

Initial MPI and sparse matrix support in cupyx.distributed (#6628, #6658)

CuPy v10 added the cupyx.distributed API to perform interprocess communication using NCCL in a way similar to MPI. In CuPy v11 we are extending this API to support sparse matrices as defined in cupyx.scipy.sparse. Currently only send/recv primitives are supported but we will be adding support for collective calls in the following releases.

Additionally, now it is possible to use MPI (through the mpi4py python package) to initialize the NCCL communicator. This prevents from launching the TCP server used for communication exchange of CPU values. Moreover, we recommend to enable MPI for sparse matrices communication as this requires to exchange metadata per each communication call that lead to device synchronization if MPI is not enabled.

# run with mpiexec -n N python …

import mpi4py
comm = mpi4py.MPI.COMM_WORLD
workers = comm.Get_size()
rank = comm.Get_rank()

comm = cupyx.distributed.init_process_group(workers, rank, use_mpi=True)

Announcements

Introduction of generic cupy-wheel (EXPERIMENTAL) (#6012)

We have added a new package in the PyPI called cupy-wheel. This meta package allows other libraries to add a dependency to CuPy with the ability to transparently install the exact CuPy binary wheel matching the user environment. Users can also install CuPy using this package instead of manually specifying a CUDA/ROCm version.

pip install cupy-wheel

This package is only available for the stable release as the current pre-release wheels are not hosted in PyPI.

This feature is currently experimental and subject to change so we recommend users not to distribute packages relying on it for now. Your suggestions or comments are highly welcomed (please visit #6688.)

Changes

New Features

  • Support cooperative group in JIT compiler (#6620)
  • Add support for sparse matrices in cupyx.distributed (#6628)
  • JIT: Support compile-time for-loop unrolling (#6649)
  • JIT: Support .shape and .strides (#6668)

Enhancements

  • Add a few driver/runtime/nvrtc API wrappers (#6604)
  • Implement flatten(order) (#6613)
  • Implemented a __repr__ for cupyx.profiler._time._PerfCaseResult (#6617)
  • JIT: Avoid calling default constructor if possible (#6619)
  • Add missing cudaDevAttrMemoryPoolsSupported to hip (#6621)
  • Add CC 3.2 to Tegra arch list (#6631)
  • JIT: Add more cooperative group APIs (#6640)
  • JIT: Add kernel.cached_code test (#6643)
  • Use MPI for management in cupyx.distributed (#6658)
  • Improve warning message in sparse (#6669)

Performance Improvements

  • Improve copy and assign operation (#6181)
  • Performance improvement of cupy.intersect1d (#6586)

Bug Fixes

  • Define float16::operator-() only for ROCm 5.0+ (#6624)
  • JIT: fix access to cached codes (#6639)
  • Fix cuda python CI (#6652)
  • Fix int64 overflow in cupy.polyval (#6664)
  • JIT: Disable memcpy_async on CUDA 11.0 (#6671)

Documentation

  • Add --pre option to instructions installing pre-releases (#6612)
  • JIT: fix function signatures in the docs (#6648)
  • Fix typo in performance guide (#6657)

Installation

  • Add universal CuPy package (#6012)

Tests

  • Run daily benchmark with head branch against latest release (#6598)
  • CI: Trigger FlexCI for hotfix branches (#6625)
  • Remove jenkins requirements (#6632)
  • Fix TestIncludesCompileCUDA for HEAD tests (#6646)
  • Trigger CUDA Python tests with /test mini (#6653)
  • Fix missing f prefix on f-strings fix (#6674)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @code-review-doctor @danielg1111 @davidegavio @emcastillo @eternalphane @kmaehashi @leofang @okuta @takagi @toslunar

v10.4.0

27 Apr 07:44
173260d
Compare
Choose a tag to compare

This is the release note of v10.4.0. 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!

Announcements

Introduction of generic cupy-wheel (EXPERIMENTAL) (#6012)

We have added a new package in the PyPI called cupy-wheel. This meta package allows other libraries to add a dependency to CuPy with the ability to transparently install the exact CuPy binary wheel matching the user environment. Users can also install CuPy using this package instead of manually specifying a CUDA/ROCm version.

pip install cupy-wheel

This package is only available for the stable release as the current pre-release wheels are not hosted in PyPI.

This feature is currently experimental and subject to change so we recommend users not to distribute packages relying on it for now. Your suggestions or comments are highly welcomed (please visit #6688.)

Changes

Enhancements

  • Add missing cudaDevAttrMemoryPoolsSupported to hip (#6626)
  • Add CC 3.2 to Tegra arch list (#6647)
  • Add a few driver/runtime/nvrtc API wrappers (#6651)

Bug Fixes

  • Define float16::operator-() only for ROCm 5.0+ (#6629)
  • JIT: fix access to cached codes (#6642)
  • [v10] Fix Mempool attr for Cuda Python (#6654)
  • Fix int64 overflow in cupy.polyval (#6666)

Documentation

  • Documentation update for ROCm 5.0 (#6607)
  • Add --pre option to instructions installing pre-releases (#6614)
  • Fix typo in performance guide (#6659)
  • JIT: fix function signatures in the docs (#6660)

Installation

  • Add universal CuPy package (#6683)

Tests

  • Remove jenkins requirements (#6634)
  • CI: Trigger FlexCI for hotfix branches (#6636)
  • Fix TestIncludesCompileCUDA for HEAD tests (#6650)
  • Trigger CUDA Python tests with /test mini (#6655)
  • Fix missing f prefix on f-strings fix (#6679)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @code-review-doctor @danielg1111 @emcastillo @kmaehashi @leofang @takagi

v10.3.1

08 Apr 01:52
48119b9
Compare
Choose a tag to compare

This is the release note of v10.3.1. See here for the complete list of solved issues and merged PRs.

This is a hot-fix release for v10.3.0 which contained a regression that prevents CuPy from working on older CUDA GPUs (Maxwell or earlier).

Changes

Bug Fixes

  • Define float16::operator-() only for ROCm 5.0+ (#6630)

Installation

  • Bump version to v10.3.1 (#6633)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@kmaehashi @takagi

v11.0.0b1

31 Mar 07:02
afa9bdc
Compare
Choose a tag to compare
v11.0.0b1 Pre-release
Pre-release

This is the release note of v11.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!

Notice (2022-04-05)

We have identified that this release contains a regression that prevents CuPy from working in older CUDA GPUs (Maxwell or earlier). We are planning to fix this issue in the next pre-release. See #6615 for the details.

Highlights

Increase coverage of cupyx.scipy.special APIs (#6461, #6582, #6571)

A series of scipy.special routines have been added to cupyx with optimized CUDA raw kernel implementations. loggamma, multigammaln, fast Hankel transformations and several other utility special functions are added in these series of PRs by @grlee77 and @khushi-411.

Support for CUDA 11.6

Full support for CUDA 11.6 has been added as of this release. Binary packages can be installed with the following commnad: pip install --pre cupy-cuda116 -f https://pip.cupy.dev/pre

Support for ROCm 5.0

Full support for ROCm 5.0 has been added as of this release. Binary packages can be installed with the following commnad: pip install --pre cupy-rocm-5-0 -f https://pip.cupy.dev/pre

Changes without compatibility

Use CUB by default (#6549)

CUB support in CuPy is now enabled by default. This results in faster general reductions and routines such as sum, argmax, argmin having increased performance. Notice that CUB may introduce some non-deterministic behavior and this can be disabled by setting the CUPY_ACCELERATORS="" environment variable.

Drop support for ROCm 4.0 (#6420)

CuPy v11 will drop support for ROCm 4.0. We recommend users to use ROCm 4.3 or 5.0 instead.

Changes

New Features

  • Add cupyx.scipy.special statistical distributions (#6461)
  • Add cupy.real_if_close API (#6475)
  • Add cupyx.scipy.special loggamma, multigammaln and fast Hankel transforms (#6528)
  • Add cupyx.scipy.special.{i0e, i1e} (#6571)

Enhancements

  • Update cupy.array_api (#6486)
  • Fix for supporting ROCm 5.0 (#6524)
  • Use CUB by default (#6549)
  • Fix cupy.copyto to take NumPy array scalars (#6584)
  • Implement ndarray.ravel(order="K") (#6585)
  • Make einsum accept subscripts in numpy int (#6506)

Performance Improvements

  • Support cusparseSpGEMM() (#6511)
  • eigsh: Prefer gemv over gemm (#6570)
  • Performance improvement of cupy.in1d (#6583)

Bug Fixes

  • Fix cupy.fill to properly take zero-dim cupy.ndarray (#6481)
  • Fix error message in vectorize (#6499)
  • Fix cupy.cumsum on ROCm 5.0 (#6520)
  • Fix coo_matrix.diagonal (#6522)
  • Fix array creation shape (#6545)
  • Fix out args parser of ufunc (#6546)
  • Fix may_share_memory algorithm (#6560)
  • Avoid using the same kernel from different devices in JIT (#6575)
  • Fix cupy.full and cupy.full_like to make unsafe casting (#6587)
  • Fix device context management in MemoryAsyncPool (#6590)

Code Fixes

  • mypy: array_api (#6438)
  • Minor fixes on uarray backend support (#6526)

Documentation

  • Fix documents for CUDA 11.6 (#6405)
  • Remove description about issues from contribution guide (#6497)
  • Documentation update for ROCm 5.0 (#6530)

Installation

  • Skip appending --compiler-bindir if cl.exe is already on PATH (#6510)
  • Bump version to v11.0.0b1 (#6601)

Tests

  • Add FlexCI projects for Windows (#5889)
  • Run cupy-benchmark on CI (#6417)
  • Disable CentOS 8 test (#6492)
  • Fix Dockerfile broken for array-api tests (#6508)
  • CI: Trigger push event of FlexCI via GitHub Actions (#6538)
  • Skip async_malloc tests on unsupported device (#6541)
  • Fix flaky test_inverse_indices_shape (#6551)
  • Trigger CUDA 11.6 Windows CI when push/pull-request (#6553)
  • CI: Fix event name in dispatcher (#6555)
  • CI: Fix rule name in dispatcher (#6556)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@anaruse @asi1024 @emcastillo @grlee77 @khushi-411 @kmaehashi @leofang @Onkar627 @peterbell10 @pri1311 @Smit-create @takagi @toslunar @tushxr16

v10.3.0

31 Mar 07:02
5ae1db4
Compare
Choose a tag to compare

This is the release note of v10.3.0. 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!

Notice (2022-04-08)

We have published a hot-fix release v10.3.1 which addresses a regression that prevents CuPy from working in older CUDA GPUs (Maxwell or earlier).

Highlights

Support for CUDA 11.6

Full support for CUDA 11.6 has been added as of this release. Binary packages are available in PyPI and can be installed with the following command: pip install cupy-cuda116

Support for ROCm 5.0

Full support for ROCm 5.0 has been added as of this release. Binary packages are available in PyPI and can be installed with the following command: pip install cupy-rocm-5-0

Changes

Enhancements

  • Support ROCm 5.0 (#6496)
  • Support cuSPARSELt 0.2.0 (repost) (#6507)
  • Update cupy.array_api (#6550)
  • Fix cupy.copyto to take NumPy array scalars (#6593)
  • Fix for supporting ROCm 5.0 (#6599)
  • Make einsum accept subscripts in numpy int (#6516)

Bug Fixes

  • Fix error message in vectorize (#6515)
  • Fix cupy.cumsum on ROCm 5.0 (#6525)
  • Fix coo_matrix.diagonal (#6533)
  • Fix out args parser of ufunc (#6547)
  • Fix cupy.fill to properly take zero-dim cupy.ndarray (#6548)
  • Fix cuSPARSELt 0.1.0 support in v10 (#6563)
  • Fix may_share_memory algorithm (#6565)
  • Avoid using the same kernel from different devices in JIT (#6581)
  • Fix array creation shape (#6592)
  • Fix cupy.full and cupy.full_like to make unsafe casting (#6595)
  • Fix device context management in MemoryAsyncPool (#6596)

Code Fixes

  • mypy: array_api (#6552)

Documentation

  • Remove description about issues from contribution guide (#6542)
  • Fix documents for CUDA 11.6 (#6543)

Installation

  • Remove CUPY_SETUP_ENABLE_THRUST=0 environment variable (#6488)
  • Skip appending --compiler-bindir if cl.exe is already on PATH (#6514)
  • Bump version to v10.3.0 (#6602)

Tests

  • Ignore warnings from Optuna 3.0 pre-releases (#6490)
  • Disable CentOS 8 test (#6519)
  • Add FlexCI projects for Windows (#6540)
  • Skip async_malloc tests on unsupported device (#6544)
  • CI: Trigger push event of FlexCI via GitHub Actions (#6554)
  • CI: regenerate matrix (#6557)
  • CI: Fix rule name in dispatcher (#6558)
  • CI: Fix event name in dispatcher (#6559)
  • Fix flaky test_inverse_indices_shape (#6573)
  • Trigger CUDA 11.6 Windows CI when push/pull-request (#6578)

Contributors

The CuPy Team would like to thank all those who contributed to this release!

@anaruse @asi1024 @kmaehashi @leofang @Onkar627 @takagi @toslunar @tushxr16