Cupy

Latest version: v13.1.0

Safety actively analyzes 631310 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 25

12.0.0b3

Not secure
This is the release note of v12.0.0b3. See [here](https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av12.0.0b3) for the complete list of solved issues and merged PRs.

We are running a [Gitter chat](https://gitter.im/cupy/community) 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

12.0.0b2

Not secure
This is the release note of v12.0.0b2. See [here](https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av12.0.0b2) for the complete list of solved issues and merged PRs.

We are running a [Gitter chat](https://gitter.im/cupy/community) 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](https://chanzuckerberg.com/eoss/proposals/enhancing-high-level-scientific-computing-support-in-cupy/).*

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.

python
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](https://www.preferred.jp/en/).*

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

12.0.0b1

Not secure
This is the release note of v12.0.0b1. See [here](https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av12.0.0b1) for the complete list of solved issues and merged PRs.

We are running a [Gitter chat](https://gitter.im/cupy/community) 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](https://docs.cupy.dev/en/latest/reference/ufunc.html#methods) 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.

python
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](https://www.preferred.jp/en/).

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

12.0.0a2

Not secure
This is the release note of v12.0.0a2. See [here](https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av12.0.0a2) for the complete list of solved issues and merged PRs.

We are running a [Gitter chat](https://gitter.im/cupy/community) 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](https://numpy.org/doc/stable/reference/ufuncs.html#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

12.0.0a1

Not secure
This is the release note of v12.0.0a1. See [here]([https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3Av](https://github.com/cupy/cupy/pulls?q=is%3Apr+is%3Aclosed+milestone%3AvX.Y.Z)12.0.0a1) for the complete list of solved issues and merged PRs.

We are running a [Gitter chat](https://gitter.im/cupy/community) for general discussions and quick questions. Feel free to join the channel to talk with developers and users!

Highlights

Increased `cupyx.scipy` APIs (6823, 6849, 6855, 6890, 6958, 6971)

The coverage of SciPy `interpolate`, `stats` & `special` APIs has increased. (Thanks khushi-411 & andoorve!)

Jetson AGX Orin Support (6876)

Arm (aarch64) wheels are now compiled with support for compute capability 8.7.
These wheels are available through our Pip index: `pip install --pre cupy-cuda11x -f https://pip.cupy.dev/aarch64`

Changes

New Features

- Add `cupy.heaviside` api. (6798)
- Add `cupyx.scipy.special.log_softmax` (6823)
- Add `cupyx.scipy.stats.boxcox_llf` (6849)
- Add `cupyx.scipy.stats.{zmap, zscore}` (6855)
- Add `cupyx.scipy.special.softmax` (6890)
- Add `dtype`, `fweights`, `aweights` to `cupy.cov` (6892)
- Add `cupyx.scipy.interpolate.BarycentricInterpolator` (6958)
- Add `scipy.special.cosm1` to `cupyx` (6971)

Enhancements

- Enhance JIT error message when `__device__` option is missing (6837)
- Fix `augassign` target is evaluated twice in JIT (6844)
- JIT: Add type annotation in `_compile.py` (6859)
- Add complex support for `nanvar` and `nanstd` (6869)
- Update `cupy.array_api` (6871)
- Accept `kind` in `sort`/`argsort` and fix `cupy.array_api.{sort,argsort}` accordingly (6872)
- Add CC 8.7 for Jetson Orin (6876)
- Update `cupy-wheel` for v11 (6903)
- Support `deg` in `cupy.angle` (6905)
- Make sure that uniform sampling respects broadcasting (6928)
- Update `cupy.array_api` (cont'd) (6932)
- Support SciPy 1.9 (6962)
- Make testing decorators able to use with `pytest.mark.parametrize` in some cases (6984)
- Relaxed C-contiguous requirement for changing dtype of different size (6848)
- Support `keepdims` parameter for `average` (6852)
- Support `equal_nan` parameter for `unique` (6853)

Performance Improvements

- Efficiency improvements in `cupyx.scipy.ndimage` utilities (6953)

Bug Fixes

- Generate CUBIN for all supported GPUs at build time (6875)
- Fix `boxcox_llf` (6884)
- Fix real and imag in subclass (6896)
- Fix `cupy.clip` to match numpy (6920)
- Let `argpartition` use the kth argument properly (6921)
- Fix cuTensorNet shim layer (6934)
- Fix occasional hang in sparse distributed (6942)
- Fix SciPy dependency leak (6947)
- Fix CUB reduction with zero-size arrays (6960)

Code Fixes

- Fix function names (6877)
- Remove proxy functions for softlink (6879)
- Suppress nvcc warning (6954)

Documentation

- Bump documentation build requirements (6825)
- Reverting to v10 installation instruction until v11 stable release (6836)
- Fix ROCm supported versions in compat matrix (6846)
- Generate docs for private classes in one location (6857)
- Expand breaking change & best practice on device management (6883)
- Update installation guide for v11 (aarch64) (6888)
- Update install instructions on README (6889)
- Document matmul supports out (6898)
- Fix docs build failure (6955)

Installation

- Reorganize build scripts: define compile options declaratively (6911)
- Parallelize Cythonize (6975)
- Remove use of `distutils.utils` (7006)

Examples

- Make matrix in CG example positive definite (6939)

Tests

- Update tags for FlexCI projects (6814)
- Add config for `cupy.win.cuda117` (6880)
- Fix `XFAIL` for `tests/cupyx_tests/scipy_tests/sparse_tests/test_coo.py` when `scipy>=1.9.0rc2` (6894)
- Use ubuntu-22.04 as GitHub Actions runner image (6988)
- Revert comment fix (6995)
- Filter warnings from setuptools 65 (7000)
- CI: bump CUDA version used in cuda-python test (7022)
- CI: Add ROCm 5.1 and 5.2 (6828)
- CI: Show all errors when doc build fail (6910)

Others

- Bump version to v12.0.0a1 (7027)

Contributors

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

andfoy andoorve asi1024 BasLaa emcastillo grlee77 khushi-411 kmaehashi leofang pri1311 takagi tom24d toslunar tpkessler

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`

Page 3 of 25

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.