Cupy Versions Save

NumPy & SciPy for GPU

v11.6.0

1 year ago

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

This is the last planned release for CuPy v11 series. Please start testing your workload with the v12 release candidate to get ready for the final v12 release. To install:pip install -U --pre cupy-cuda11x -f https://pip.cupy.dev/pre. See the Upgrade Guide for the list of possible breaking changes in v12.

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

Fixed Performance Issue with CUDA 12.0

This release fixes a critical performance regression in CUDA 12.0 that the on-disk kernel cache is ineffective, causing kernels to be recompiled for each python process. Users with CUDA 12.0 are strongly suggested to upgrade to this release.

Changes

Enhancements

  • Use warp size from runtime.getDeviceProperties (#7353)
  • Update DLPack to v0.8 to support bool arrays (#7376)
  • Mark cupy.cuda.profiler.initialize deprecated as it is removed in CUDA 12 (#7379)
  • Work around a potential OOM error raised by CUB histogram (#7388)
  • Use NumPy 1.24 in CI and bump baseline API (#7423)
  • Fix arange() to raise TypeError in boolean case (#7407)

Bug Fixes

  • Fix kernel cache not working in CUDA 12.0 (#7348)
  • Imporves stability of orthogonization step in cupyx.scipy.sparse.eigsh (#7361)
  • Do not test NumPy version for private APIs (#7370)

Documentation

  • Downgrade pydata-sphinx-theme to v0.11.0 (#7380)

Installation

  • Bump version to v11.6.0 (#7435)

Tests

  • CI: tentatively use SciPy 1.9 in Windows (#7336)
  • CI: Add optuna 3.0 (#7337)
  • Remove invalid pytest markers and turn on strict mode (#7354)
  • Avoid int8 overflow warning in TestRoundHalfway (#7362)
  • Filter SQLAlchemy 2.0 warnings raised from Optuna v2 (#7365)
  • Add CI for CUDA 12.0 on Windows (#7371)
  • Fix pre-commit configuration error (#7373)
  • Avoid casting nan value to integer type in nanargmin/max tests (#7381)
  • Avoid int8 overflow in some tests (#7382)
  • Fix int8 overflow in vectorize tests (#7384)
  • Fix sumprod test to avoid uint overflow (#7398)
  • Avoid fillvalue overflow in cupyx.scipy.signal test (#7401)
  • Fix ndarray.fill to raise ComplexWarning (#7408)

Contributors

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

@asi1024 @emcastillo @kmaehashi @leofang @RisaKirisu

v12.0.0rc1

1 year ago

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

This is a release candidate of the CuPy v12 series. Please start testing your workload with this release to prepare for the final v12 release. To install: pip install -U --pre cupy-cuda11x -f https://pip.cupy.dev/pre. See the Upgrade Guide for the list of possible breaking changes in v12.

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.interpolate

The following interpolators have been implemented: BPoly, Akima1DInterpolator, PchipInterpolator.

Acknowledgements: 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.

DLPack v0.8 Support

CuPy is now compatible with DLPack v0.8 to allow importing/exporting bool arrays.

Fixed Performance Issue with CUDA 12.0

This release fixes a critical performance regression in CUDA 12.0 that the on-disk kernel cache is ineffective, causing kernels to be recompiled for each python process. Users with CUDA 12.0 are strongly suggested to upgrade to this release.

Changes without compatibility

Change cupy.cuda.Device Behavior (#7427)

The CUDA current device (set via cupy.cuda.Device.use() or underlying CUDA API cudaSetDevice()) will now be reactivated when exiting a cupy.cuda.Device context manager. This reverts the change introduced in CuPy v10, making the behavior identical to the one in CuPy v9 or earlier. Please refer to the Upgrade Guide for the background of this decision.

Requirement Changes (#7405)

As per NEP 29, CuPy v12 drops support for Python 3.7 and NumPy 1.20. Support for SciPy 1.6 has been dropped as well.

Remove Texture Reference APIs (#7308)

Texture reference features (RawModule.get_texref() and TextureReference), which were marked deprecated in CUDA 10.1 and removed in CUDA 12.0, have been removed from CuPy.

Changes

New Features

  • Initial experimental & private cupyx.distributed._array implementation (#7040)
  • Add PchipInterpolator to cupyx.scipy.interpolate (#7255)
  • Add Akima1DInterpolator to cupyx.scipy.interpolate (#7260)
  • Add cached_code to ElementwiseKernel and ReductionKernel (#7265)
  • Enable spline methods on RegularGridInterpolator (#7334)
  • Add BPoly to cupyx.scipy.interpolate module (#7343)

Enhancements

  • Use NumPy 1.24 in CI and bump baseline API (#7248)
  • Use warp size from runtime.getDeviceProperties (#7302)
  • Update DLPack to v0.8 to support bool arrays (#7307)
  • Remove texture reference completely (#7308)
  • Work around a potential OOM error raised by CUB histogram (#7316)
  • Mark cupy.cuda.profiler.initialize deprecated as it is removed in CUDA 12 (#7377)
  • Drop support for Python 3.7, NumPy 1.20, and SciPy 1.6 (#7405)
  • Raise RuntimeError if pylibraft is unavailable (#7411)
  • Revert cupy.cuda.Device behavior to v9 (#7427)
  • Fix ndarray.fill to raise ComplexWarning (#7393)
  • Fix arange() to raise TypeError in boolean case (#7394)

Performance Improvements

  • Change implementation of fftshift and ifftshift (#7399)

Bug Fixes

  • Fix kernel cache not working in CUDA 12.0 (#7345)
  • Imporves stability of orthogonization step in cupyx.scipy.sparse.eigsh (#7356)
  • Do not test NumPy version for private APIs (#7368)

Code Fixes

  • Small fixes and refactor of casting related things (#7322)

Documentation

  • Doc: fix wrong time unit (#7312)
  • Doc: add docs for contiguity policy (#7344)
  • Doc: downgrade pydata-sphinx-theme to v0.11.0 (#7375)
  • Fix typo in docstring (#7402)
  • DOC: cupyx.interpolate: document limitations on ROCm (#7419)
  • Add upgrade guide for v12 (#7430)

Installation

  • Add CUPY_INCLUDE_PATH and CUPY_LIBRARY_PATH env vars (#7305)
  • Bump docker image to CUDA 11.8.0 (#7429)
  • Bump version to v12.0.0rc1 (#7434)

Tests

  • CI: tentatively use SciPy 1.9 in Windows (#7326)
  • CI: Add optuna 3.0 (#7333)
  • Avoid int8 overflow warning in TestRoundHalfway (#7338)
  • Avoid int8 overflow in some tests (#7339)
  • Fix int8 overflow in vectorize tests (#7340)
  • Avoid casting nan value to integer type in nanargmin/max tests (#7341)
  • Add CI for CUDA 12.0 on Windows (#7349)
  • Remove invalid pytest markers and turn on strict mode (#7350)
  • Drop support for Optuna v2 (#7363)
  • Filter SQLAlchemy 2.0 warnings raised from Optuna v2 (#7364)
  • Fix pre-commit configuration error (#7369)
  • Avoid int8 overflow in core test (#7387)
  • Fix sumprod test to avoid uint overflow (#7395)
  • Avoid fillvalue overflow in cupyx.scipy.signal test (#7397)

Contributors

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

Contributors: @andfoy @asi1024 @emcastillo @ev-br @kmaehashi @leofang @Nordicus @Raghav323 @RisaKirisu @seberg @wstolp

v11.5.0

1 year ago

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

Highlights

CUDA 12 & H100 Support

CuPy now supports CUDA 12.0 and NVIDIA's latest H100 GPU. Binary packages are available for Linux (x86_64/aarch64) and Windows.

$ pip install cupy-cuda12x

For aarch64:
$ pip install cupy-cuda12x -f https://pip.cupy.dev/aarch64

Note that cuDNN support is unavailable at this time as cuDNN for CUDA 12 has not yet been released.

Changes

Enhancements

  • Support CUDA 12.0 (#7238)
  • Conditionally change identifiers for ROCm (#7244)
  • Extra fixes for CUDA 12.0 (#7257)
  • Support NCCL 2.16 (#7288)
  • Bump to cuTENSOR 1.6.2 (#7290)
  • Support cuDNN 8.7 (#7296)
  • Lazy load dtypes deprecated in NumPy 1.24 (#7297)
  • Add cupy-cuda12x to cupy-wheel (#7327)
  • Update for deprecations in NumPy 1.24 (#7263)
  • Update array_api (#7321)

Bug Fixes

  • Fix interpreting Sparse init arguments (#7230)
  • Fix race condition in Jitify (#7266)
  • Support passing int as shape to broadcast_to (#7291)
  • Update cuTENSOR installer for CUDA 12.x (#7301)

Documentation

  • Bump docs requirements (#7258)
  • Doc: Bump supported environments (CUDA 12 / cuDNN 8.7 / NCCL 2.16) (#7320)

Installation

  • Bump version to v11.5.0 (#7324)

Tests

  • CI: Support cuTENSOR 1.6.2 which defaults to CUDA 12 (#7241)
  • Filter SQLAlchemy's warning on which optuna depends in test (#7277)
  • Fix tests for NumPy 1.24 (c.f. #7286) (#7287)
  • Add CI for CUDA 12.0 (#7317)
  • CI: Use NVTX1 in FlexCI image (#7325)

Contributors

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

@anaruse @hubertlu-tw @kmaehashi @leofang @takagi

v12.0.0b3

1 year ago

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

CUDA 12 & H100 Support

CuPy now supports CUDA 12.0 and NVIDIA's latest H100 GPU. Binary packages are available for Linux (x86_64/aarch64) and Windows.

$ pip install cupy-cuda12x --pre -f https://pip.cupy.dev/pre

Note that cuDNN support is unavailable at this time as cuDNN for CUDA 12 has not yet been released.

NXTX3

NVTX support in CuPy is now backed by NVTX3 instead of the legacy NVTX1.

Changes

New Features

  • Add cupyx.scipy.interpolate.make_interp_spline (#7195)
  • Implementing RegularGridInterpolator and interpn from scipy.interpolate (#7197)
  • Add PPoly to cupyx.scipy.interpolate (#7204)
  • Add uniform() to random generator (#7205)
  • Implement make_interp_spline(..., bc_type="periodic") (#7206)
  • JIT: Enhance thrust functions coverage (#7233)
  • Add CubicHermiteSpline to cupyx.scipy.interpolate (#7242)

Enhancements

  • Conditionally change identifiers for ROCm (#7079)
  • cupyx.scipy.sparse.linalg.spsolve : allow two-dimensional right-hand sides in A @ X = B (#7219)
  • Support CUDA 12.0 (#7235)
  • Extra fixes for CUDA 12.0 (#7236)
  • Adding smaller eigenvalues option in cupyx.scipy.sparse.linalg.eigsh (#7269)
  • Performance optimization of RegularGridInterpolator (#7275)
  • Add function to diagnose Windows DLL load issue (#7279)
  • Support NCCL 2.16 (#7283)
  • Bump to cuTENSOR 1.6.2 (#7284)
  • Support cuDNN 8.7 (#7285)
  • Add cupy-cuda12x to cupy-wheel (#7300)
  • Migrate to NVTX3 (#7304)
  • Update for deprecations in NumPy 1.24 (#7245)
  • Check if the slice does not have inhomogeneous shape before converting it to array (#7286)
  • Update array_api (#7313)

Bug Fixes

  • Fix interpreting Sparse init arguments (#7222)
  • Fix race condition in Jitify (#7259)
  • Support passing int as shape to broadcast_to (#7271)
  • Update cuTENSOR installer for CUDA 12.x (#7298)

Documentation

  • Bump docs requirements (#7247)
  • Add explanation for JIT kernel. (#7252)
  • Doc: Add interop example using raw pointers (#7278)
  • Doc: Bump supported environments (CUDA 12 / cuDNN 8.7 / NCCL 2.16) (#7310)

Installation

  • Bump version to v12.0.0b3 (#7323)

Tests

  • CI: Support cuTENSOR 1.6.2 which defaults to CUDA 12 (#7237)
  • Skip tests if SciPy is unavailable (#7239)
  • Fix CI failures related to cupyx.scipy.interpolate (#7262)
  • Filter SQLAlchemy's warning on which optuna depends in test (#7276)
  • Add CI for CUDA 12.0 (#7299)
  • CI: Use NVTX1 in FlexCI image (#7311)

Contributors

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

@anaruse @andfoy @asi1024 @ev-br @hubertlu-tw @ideasrule @kmaehashi @leofang @mandal-saswata @oishigyunyu @takagi

v11.4.0

1 year ago

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

Changes

Enhancements

  • Use cuSPARSE Generic API instead of older one documented to be removed (#7209)

Bug Fixes

  • Fix 1-dim lexsort (#7191)
  • Fix cupyx.scipy.ndimage.zoom for outputs of size 1 when mode is 'opencv' (#7202)
  • Split inputs to random routines (#7207)
  • Use list(kwargs) instead of list(kwargs.keys) (#7213)
  • Fix cusparseSpSM compatibility (#7220)

Tests

  • CI: Generate coverage count just after the parameter axis in table (#7188)

Contributors

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

@emcastillo @hadipash @jjmortensen @kmaehashi @takagi

v12.0.0b2

1 year ago

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

More cupyx.scipy.interpolate APIs (#7086, #7190 and #7215)

Increased coverage of cupyx.scipy.interpolate APIs, which now includes BSpline, RBFInterpolator, splantider and splder.

Acknowledgements: 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.

Use CUB reduction classes in cupyx.jit (#7145)

Now it is possible to use the CUB reduction classes, cub::WarpReduce and cub::BlockReduce, in kernels written using CuPy JIT.

import cupy, cupyx
from cupy.cuda import runtime
from cupyx import jit

@jit.rawkernel()
def warp_reduce_sum(x, y):
    WarpReduce = jit.cub.WarpReduce[cupy.int32]
    temp_storage = jit.shared_memory(
        dtype=WarpReduce.TempStorage, size=1)
    i, j = jit.blockIdx.x, jit.threadIdx.x
    value = x[i, j]
    aggregator = WarpReduce(temp_storage[0])
    aggregate = aggregator.Reduce(value, jit.cub.Sum())
    if j == 0:
        y[i] = aggregate

warp_size = 64 if runtime.is_hip else 32
h, w = (32, warp_size)
x = cupy.arange(h * w, dtype=cupy.int32).reshape(h, w)
cupy.random.shuffle(x)
y = cupy.zeros(h, dtype=cupy.int32)
warp_reduce_sum[h, w](x, y)

Acknowledgements: This work was done by Tsutsui Masayoshi (@TsutsuiMasayoshi) as a part of the internship program at Preferred Networks.

Changes

New Features

  • Add 1-D BSpline to interpolate module (#7086)
  • JIT: Support cub::WarpReduce and cub::BlockReduce (#7145)
  • Add cupyx.scipy.interpolate.RBFInterpolator (#7190)
  • Expose splder and splantider (#7215)

Enhancements

  • Use cuSPARSE Generic API instead of older one documented to be removed (#7052)
  • Improve _PerfCaseResult.to_str format (#7152)

Bug Fixes

  • Split inputs to random routines (#7173)
  • Fix 1-dim lexsort (#7178)
  • Fix cupyx.scipy.ndimage.zoom for outputs of size 1 when mode is 'opencv' (#7192)
  • Fix wrong argument in warnings.warn() (#7194)
  • Use list(kwargs) instead of list(kwargs.keys) (#7203)
  • Fix cusparseSpSM compatibility (#7214)
  • Remove scipy import (#7218)
  • Use naive comb() for Python 3.7 (#7221)

Tests

  • CI: Generate coverage count just after the parameter axis in table (#7175)

Contributors

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

@anaruse @andfoy @asi1024 @emcastillo @ev-br @hadipash @jjmortensen @kmaehashi @takagi @TsutsuiMasayoshi

v11.3.0

1 year ago

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

Highlights

Support for CUDA 11.8 & NVIDIA H100 GPUs

This release adds support for CUDA 11.8 and the latest NVIDIA H100 GPUs. Note that CUDA 11.8 support is included in the cupy-cuda11x wheel.

Support for Python 3.11

Wheels are now available for Python 3.11.

Changes

Enhancements

  • Add wrapper for cutensorPermutation (#7083)
  • Fix compile error from inf/nan in cupy.fuse (#7128)
  • Support CUDA 11.8 (#7134)
  • Add CUDA 11.8 on documents (#7148)
  • Support NCCL 2.15 (#7160)
  • Support CUDA 11.8 H100 GPUs (#7169)
  • Support Python 3.11 (#7179)
  • Fix indexing sparse matrix with empty index arguments (#7155)

Bug Fixes

  • Make sure weibull distribution support ndarrays (#7055)
  • Make sure that cupy (array-api) Array objects can be composed using asarray (#7095)
  • JIT: Fix compile error for op.routine including in0_type (#7096)
  • Don't use __del__ in TCPStore (#7111)
  • Fix cupy.nansum in fusing (#7114)
  • Fusion TypeError in cupy._core.fusion._call_ufunc() (#7130)
  • JIT: Fix compile error of minmax function (#7174)

Documentation

  • Docs: Add missing functions (#7112)

Installation

  • Support force-overwriting Docker image via workflow (#7091)
  • Bump version to v11.3.0 (#7182)

Tests

  • CI: Add ROCm 5.3 (#7125)
  • CI: Allow /test jenkins to trigger Jenkins only (#7129)
  • Install zlib for CUDA 11.8 Windows CI (#7138)
  • Fix for pytest 7.2 (#7149)
  • CI: improve use of cache in GitHub Actions (#7156)
  • CI: Add support for the latest FlexCI Windows image (#7172)

Others

  • CI: use pre-commit in GitHub Actions (#7132)

Contributors

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

@anaruse @andfoy @asi1024 @emcastillo @kmaehashi @leofang @takagi

v12.0.0b1

1 year ago

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

Support for CUDA 11.8 & NVIDIA H100 GPUs

This release adds support for CUDA 11.8 and the latest NVIDIA H100 GPUs. Note that CUDA 11.8 support is included in the cupy-cuda11x wheel.

Support for Python 3.11

Wheels are now available for Python 3.11.

ufunc Methods

This release adds ufunc.reduce, ufunc.accumulate, ufunc.reduceat, and ufunc.at methods. See the documentation for more details.

Use Thrust in cupyx.jit (#7054, #7139)

Now it is possible to use the Thrust library device functions in kernels written using CuPy JIT.

import cupy, cupyx

@cupyx.jit.rawkernel()
def sort_by_key(x, y):
    i = cupyx.jit.threadIdx.x
    x_array = x[i]
    y_array = y[i]
    cupyx.jit.thrust.sort_by_key(
        cupyx.jit.thrust.device,
        x_array.begin(),
        x_array.end(),
        y_array.begin(),
    )

h, w = (256, 256)
x = cupy.arange(h * w, dtype=cupy.int32)
cupy.random.shuffle(x)
x = x.reshape(h, w)
y = cupy.arange(h * w, dtype=cupy.int32)
cupy.random.shuffle(y)
y = y.reshape(h, w)
sort_by_key[1, 256](x, y)

Currently supported Thrust functions are count, copy, find, mismatch, sort, sort_by_key.

Acknowledgements: This work was done by Tsutsui Masayoshi (@TsutsuiMasayoshi) as a part of the internship program at Preferred Networks.

Changes without compatibility

Deprecates ndarray.scatter_{add,max,min} (#7097)

cupy.ndarray.scatter_{add,max,min} methods are marked as deprecated. Use the corresponding ufunc methods (cupy.{add,maximum,minimum}.at) instead.

CUDA library wrappers now live in cupyx (#7013)

Previously, CuPy has been providing high-level wrappers for CUDA libraries as cupy.cudnn, cupy.cusolver, cupy.cusparse, and cupy.cutensor. These modules are now moved to cupyx as a part of the cupy namespace cleanup. The old modules are still available but marked as deprecated. Note that these modules are still undocumented and may be subject to change.

Changes

New Features

  • Add axis to cupy.logspace (#6797)
  • Support thrust::count, device in CuPy JIT (#7054)
  • Add cupy.ndarray.searchsorted (#7059)
  • Support add.at, maximum.at, minimum.at (#7077)
  • Add pdist implementation to distance functions (#7078)
  • Support subtract.at, bitwise_and.at, bitwise_or.at, bitwise_xor.at (#7099)
  • Add ufunc.reduce and ufunc.accumulate (#7105)
  • Add cupy.add.reduceat (#7115)
  • Implement cupy.min_scalar_type (#7136)
  • JIT: Support more thrust functions (#7139)

Enhancements

  • Move cupy.cudnn cupy.cusolver cupy.cutensor cupy.cusparse to cupyx (#7013)
  • Allow randint to support array bounds (#7051)
  • Deprecate ndarray.scatter_{add, max, min} (#7097)
  • Support CUDA 11.8 H100 GPUs (#7100)
  • Support CUDA 11.8 (#7117)
  • Add CUDA 11.8 on documents (#7119)
  • Fix compile error from inf/nan in cupy.fuse (#7122)
  • Raise TypeError instead of ValueError in cupy.from_dlpack when CPU tensor is passed (#7133)
  • Support NCCL 2.15 (#7153)
  • Support Python 3.11 (#7159)
  • Fix indexing sparse matrix with empty index arguments (#7143)

Bug Fixes

  • Make sure that cupy (array-api) Array objects can be composed using asarray (#6874)
  • Don't use __del__ in TCPStore (#6989)
  • JIT: Fix compile error for op.routine including in0_type (#7076)
  • Fix cupy.nansum in fusing (#7102)
  • Fusion TypeError in cupy._core.fusion._call_ufunc() (#7113)
  • Fix a typo (#7163)
  • JIT: Fix compile error of minmax function (#7167)

Code Fixes

  • Remove _ufunc_method directory (#7116)
  • Add missing base type to cdef declarations (#7170)

Documentation

  • Docs: Add missing functions (#7103)
  • Docs: ufunc methods (#7104)
  • Improve benchmark documentation (#7176)

Installation

  • Bump version to v12.0.0b1 (#7181)

Examples

Tests

  • CI: Add ROCm 5.3 (#7124)
  • CI: Allow /test jenkins to trigger Jenkins only (#7126)
  • Install zlib for CUDA 11.8 Windows CI (#7137)
  • CI: improve use of cache in GitHub Actions (#7141)
  • Fix for pytest 7.2 (#7147)
  • CI: Add support for the latest FlexCI Windows image (#7161)
  • JIT: Skip HIP thrust::sort test (#7162)
  • CI: use pre-commit in GitHub Actions (#7123)

Others

Contributors

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

@anaruse @andfoy @asi1024 @Diwakar-Gupta @emcastillo @IncubatorShokuhou @kmaehashi @MarcoGorelli @takagi @TsutsuiMasayoshi

v12.0.0a2

1 year ago

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

Increased cupyx.scipy APIs (#6773, #6990, #7014, #7015, #7036)

The coverage of SciPy interpolate & special APIs has increased. (Thanks @khushi-411 & @1MrEnot!)

Initial support for ufunc methods (#7049)

Starting from v12, CuPy will support the corresponding NumPy ufunc methods. This release adds compatibility with ufunc.outer. Check the tracking issue (#7082) for detailed information.

Changes

New Features

  • Add cupyx.scipy.special.logsumexp (#6773)
  • Add cupyx.scipy.interpolate.KroghInterpolator (#6990)
  • Add scipy.special.expi and scipy.special.exp1 (#7014)
  • Add cupy.byte_bounds (#7015)
  • Adds cupyx.scipy.special.k0, cupyx.scipy.special.k1, cupyx.scipy.special.k0e, cupyx.scipy.special.k1e (#7036)
  • Add ufunc.outer (#7049)
  • Expose pairwise distance functions (#7063)

Enhancements

  • Support NCCL 2.12 ~ 2.14 (#6534)
  • Support cuDNN 8.5 (#7008)
  • Fix cupy.apply_along_axis for tuple retval (#7068)
  • Add wrapper for cutensorPermutation (#7070)

Bug Fixes

  • Fix JIT for scalar argument (#6948)
  • Make sparse argmin/max return a scalar array containing the index (#6976)
  • Fix csrsm2 memory leak (#7039)
  • Make sure weibull distribution support ndarrays (#7048)
  • Fix bessel test to pass ROCm CI (#7081)

Code Fixes

  • Cosmetic change in _routine_indexing.pyx (#7053)

Documentation

  • Fixes docstring for interpolation prefiltering (#6998)
  • Typo fix (#7045)

Tests

  • CI: Create a status for FlexCI dashboard (#7024)
  • CI: Migrate to GAR from GCR (#7064)
  • CI: tentatively fix hypothesis version (#7072)

Others

  • Introduce pre-commit (#6987)

Contributors

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

@1MrEnot @andfoy @asi1024 @betatim @khushi-411 @kmaehashi @leofang @maronuu @takagi @wyli

v11.2.0

1 year ago

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

Changes

Enhancements

  • Support NCCL 2.12 ~ 2.14 (#7069)
  • Support cuDNN 8.5 (#7071)

Bug Fixes

  • Fix csrsm2 memory leak (#7041)
  • Fix JIT for scalar argument (#7043)
  • Make sparse argmin/max return a scalar array containing the index (#7057)

Code Fixes

  • Cosmetic change in _routine_indexing.pyx (#7056)

Documentation

  • Fixes docstring for interpolation prefiltering (#7037)
  • Typo fix (#7047)

Installation

  • Remove use of distutils.utils (#7009)

Tests

  • CI: Create a status for FlexCI dashboard (#7034)
  • CI: Migrate to GAR from GCR (#7066)
  • CI: tentatively fix hypothesis version (#7073)

Others

  • Introduce pre-commit (#7067)

Contributors

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

@andfoy @asi1024 @betatim @kmaehashi @leofang @takagi @wyli