Cupy

Latest version: v13.1.0

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

Scan your dependencies

Page 23 of 25

2.2.0

Not secure
This is the release of v2.2.0. See [here](https://github.com/cupy/cupy/milestone/16?closed=1) for the complete list of solved issues and merged PRs.

New Features
- Add default casting option to ufunc (812)

Improvements
- Remove cuDNN overhead (748)

Bug Fixes
- Fix: `RandomState.choice` reproducibility (775)
- fix to correctly display filename of CUDA dump (778)
- Fix `stack` function bug (798)
- Fix `matmul` to raise `ValueError` on invalid shapes (816)
- Cast `CUPY_SEED` environment variable to `uint64` (822, thanks toslunar!)
- Stop using `dtype` option of `randint` which is introduced in NumPy v1.11 (830)

Documentation
- improve dependency description of docs (770)
- fix typo in environment variable reference (771)
- Add docs for missing argument (790)
- Expose signatures to Reference (809)
- fix `ElementwiseKernel.__call__` docs (810)
- fix wrong comment in test helper (814)

Tests
- add test for argmin/argmax tie (776)
- fix test to pass with numpy 1.9 (806)
- Allow derived errors to pass equality tests (811)
- Fix matmul test for old NumPy (818)
- add pytest cache directory to gitignore (800)
- Allow derived errors to pass equality tests (811)

2.1.0.1

Not secure
This is a hotfix of v2.1. It contains a fix of the issue 766 that `cupy.random` functions raises an error when either `CUPY_SEED` or `CHAINER_SEED` is set. This issue has been fixed via 805, which is cherry-picked for this hot-fix.

This release does not contain any other updates from v2.1.0.

2.1.0

Not secure
This is the release of v2.1.0. See [here](https://github.com/cupy/cupy/milestone/13?closed=1) for the complete list of solved issues and merged PRs.

New features
- Add `argpartition` (608)
- Add window functions (612, thanks ishihara1989!)
- `blackman`, `hamming`, `hanning`
- Support `sparse.coo_matrix` initialization with other types of sparse matrices (626)
- Line memory profiler using memory hook and traceback (630)
- Support `dtype` argument in `random.randint` (706)
- cuDNN grouped convolution (721, thanks anaruse!)

Improvements
- Performance improvements
- Optimize `sparse.csc_matrix.__mul__` (625)
- Cythonize memory hook (728)
- Support uint32 sampling up to 0xffffffff in `random.RandomState.interval` (633)
- Fix `random.RandomState.seed` to only accept integer types (709)
- Fix typo in IndexError error message (683)
- Fix interface for cuDNN find algorithm APIs (664)

Bug fixes
- Fix OverflowError passing large integer to elementwise operation (615)
- Fix indexing zero-dimensional array with boolean mask (645)
- Setup Python’s builtin random state in `testing.fix_random` (648)
- Use v6 RNN API when using cuDNN7 to avoid incompatibility (665, thanks anaruse!)
- Set arch option for NVRTC, as the option is neccessary on some GPUs (696, thanks grafi-tt!)
- Fix memory pool for multi-threaded applications (697)
- Fix `var` and `std` to correctly handle `ddof` argument (711, thanks stevendbrown!)
- Fix advanced indexing to not alter the indices (723, thanks yuyu2172!)

Documentation
- Fix a link in README.md to the contribution guide (629)
- Remove unrelated “see also” from `testing.numpy_cupy_raises` (637, thanks Hakuyume!)
- Write note about environment variables for installation (641)
- Fix reference page of `linalg` (651)
- Fix doctest for Python 3.5 (663)
- Add intersphinx mapping to Chainer (666)
- Fix typo and heading in documentation (667)
- Update testing section in the contribution guide (716)
- Fix a link in README.md to the forum (754, thanks muupan!)
- Fix incorrect heading “CuPy” instead of “NumPy” in license page (674)

Test
- Use the latest Cython in Travis CI (636)
- Fix typo (647, thanks Hakuyume!)
- Move to PyTest
- Move to PyTest (659)
- Remove nose dependency in tests (676)
- Use pytest-warnings to check deprecated warnings (729)
- Fix doctest for Python 3.5 (663)
- Allow filtering test cases by number of GPUs with `CUPY_TEST_GPU_LIMIT` environment variable (677)
- Ignore `ComplexWarning` in `numpy.pad` for NumPy 1.11 or older (690)
- Fix NumPy warning for bool and complex operations (708)
- Fix test of `where` to use different seeds for different arrays (710)
- Skip some dtypes in `test_einsum` (740)
- Skip some tests for old NumPy (746)

Others
- Improve version embedding (652)

2.0

[NVIDIA cuTENSOR](https://developer.nvidia.com/cutensor) is a performant and flexible library for accelerating tensor linear algebra. CuPy v13 supports [cuTENSOR 2.0](https://developer.nvidia.com/blog/unlock-the-power-of-nvidia-grace-and-nvidia-hopper-architectures-with-foundational-hpc-software/#:~:text=cuDSS%20documentation.-,NVIDIA%20cuTENSOR%202.0,-NVIDIA%20cuTENSOR%202.0), the latest major release of the library, achieving higher performance than cuTENSOR 1.x series.

NVIDIA RAPIDS cuSignal Integration

[cuSignal](https://github.com/rapidsai/cusignal/) is a library developed by the [NVIDIA RAPIDS project](https://rapids.ai/) that provides GPU-accelerated implementation of signal processing algorithms using CuPy as a backend. cuSignal includes `scipy.signal` compatible APIs, so we share the same goals. After a discussion with the cuSignal team, we agreed to merge cuSignal into CuPy to provide users with a better experience using a unified library for SciPy routines on GPU.

Currently, most of the functions provided in cuSignal have been merged into CuPy, and the remaining items are expected to be merged into CuPy v13 in due course.

We would like to acknowledge and thank awthomp and everyone involved in the cuSignal development for creating a great library and agreeing to this transition.

Distributed NDArray (experimental) (7881)

Added initial support for sharding `ndarray`s across multiple GPU devices connected to the same host.

python
from cupyx.distributed.array import distributed_array

shape = (16, 16)
cpu_array = numpy.random.rand(*shape)
Set the chunk indexes for each device
device 0 holds rows 0..8 and device 1 holds rows 8..16
mapping = {
0: [(slice(8), slice(None, None))],
1: [(slice(8, None), slice(None, None))],
}
The array is allocated in devices 0 and 1
multi_gpu_array = distributed_array(cpu_array, mapping)

This work was done by shino16 during the Preferred Networks 2023 summer internship.

Support for Python 3.12

Binary packages are now available for Python 3.12.

🛠️ Changes without compatibility

CUDA Runtime API is now statically linked

CuPy is now shipped with CUDA Runtime statically linked. Due to this, `cupy.cuda.runtime.runtimeGetVersion()` always returns the version of CUDA Runtime that CuPy is built with, regardless of the version of CUDA Runtime installed locally. If you need to retrieve the version of CUDA Runtime shared library installed locally, use `cupy.cuda.get_local_runtime_version()` instead.

📝 Changes

New Features

- Port `lombscargle` from cuSignal to `cupyx.scipy.signal` (7563)
- Port `periodogram`, `welch` and `csd` from cuSignal to `cupyx.signal` (7564)
- Port `cusignal` windows module to `cupyx.scipy.signal` (7568)
- Add `cupy.lib.stride_tricks.sliding_window_view` (7575)
- `cupyx/scipy/signal`: add place poles (7666)
- Add `check_{NOLA, COLA}` to `cupyx.scipy.signal` (7675)
- Port `argrel{extrema, max, min}` to `cupyx.scipy.signal from cusignal` (7694)
- Port `waveforms` from cusignal to `cupyx.scipy.signal` (7696)
- Port `wavelets` module from cusignal to `cupyx.scipy.signal` (7700)
- Add 2D signal b-splines to `cupyx.scipy.signal` (7721)
- Port `firwin/firwin2` from cuSignal (7722)
- port `upfirdn` from cuSignal (7749)
- Support boolean COO sparse matrix (7764)
- Port `gauss_spline` from cuSignal (7837)
- Port `stft/istft` from CuSignal to `cupyx.scipy.signal` (7838)
- Port `vectorstrength`, `coherence` and `spectrogram` from CuSignal to `cupyx.scipy.signal` (7853)
- Port `decimate`, `resample` and `resample_poly` from cuSignal to `cupyx.scipy.signal` (7855)
- Add `max_len_seq` to `cupyx.scipy.signal` (7867)
- Add distributed ndarray (7942)

Enhancements

- Implement axis parameter on cupy.unique (6886)
- Load cuTENSOR from wheel distribution (7025)
- Soft link NVRTC for `cupy_backends.cuda.libs.nvrtc` (7621)
- Add a property to get access to the nccl handle. (7823)
- Remove `cusolver_enabled`, `cub_enabled`, `thrust_enabled` flags (7840)
- Lazy import cuSOLVER (7843)
- Lazy import cuSPARSE (7847)
- Lazy import cuFFT (7849)
- Static link to CUDA Runtime in CUB module (7850)
- Bundle CCCL in CuPy (7851)
- Lazy import cuRAND (7856)
- Use NVRTC for compiling kernels calling `cupyx.jit.cub` APIs (7869)
- Add optional argument `device_id=-1` to `get_current_stream` (7885)
- Prohibit conversion from Variable to Python scalar in fusion (7887)
- Add `__slots__` to `cupy.ndarray` (7891)
- Lazy import cuBLAS (7921)
- Allow Jitify to only cache CuPy-owned headers (7934)
- Ensure D2H copies are stream ordered and by default blocking (7938)
- Accelerate H2D copies when the source is on pinned memory (7939)
- Add Linux CI for Python 3.12 (7940)
- MNT: Suppress CUB compilation warnings (7943)
- Static link CUDA Runtime (7954)
- Add debug feature to preloading and softlink (7977)
- Support cuTensor 2.0 (7984)
- Bump supported NumPy & SciPy versions (7992)
- Softlink CUDA Driver (7994)
- Show local runtime version in `cupy.show_config()` (7995)
- Avoid using `numpy.find_common_type` (7651)
- ENH: Remove `NINF`, `PINF`, `Inf`,... usages (7800)
- Fix `cupy.empty_like` parameter name to `prototype` (7827)
- Make `stream` kwonly argument in `ndarray.__dlpack__` (7829)
- Remove conversions of array with ndim > 0 to a scalar (7886)
- `scipy.linalg.{tri/tril/triu}` are deprecated in SciPy 1.11.0 (7889)
- Fix `signal.medfilt` complex error type for SciPy>=1.11 (7890)
- Fix `cupyx.scipy.sparse._base` tests for SciPy 1.11 (7905)
- Fix return type of division of csr_matrix and dense array for SciPy 1.11 (7906)
- Fix `maxiter` in `TestLOBPCG` (7908)

Performance Improvements

- Optimize `spmatrix._set_many` (7888)

Bug Fixes

- Fix csr2dense to avoid race conditions (7724)
- Fix cuTENSOR contraction descriptor cache (7814)
- Fix handling of scalars in cupy.r_ (7815)
- Fix `cupy.r_` for scalar inputs (7896)
- Fixed Improper Method Call: Replaced `NotImplementedError` with `NotImplemented` (7900)
- Provide .stop() method for cupyx.distributed._Backend (7952)
- Fix `NVRTCError` not calling `initialize()` (7955)
- Import cupyx.lapack inside cupy.linalg.solve (7966)
- Add lazy load for `cupyx.lapack` (7993)
- Fix issues with the initial state when a SOS filter has no IIR part (7998)
- Avoid using `pkg_resources` for cuTENSOR wheel discovery (8012)

Code Fixes

- MNT: suppress compiler warning from `cupyx.cusolver` (7714)
- Add type annotation in _creation.basic (7739)
- Fix nvrtc initialize not inlined for CUDA Python (7842)
- Fix coding style (7844)
- Reorganize directory structure around CCCL (7920)
- Remove deprecated ast expr in CuPy JIT (7941)
- Reorganize third party code under `third_party` directory (7956)

Documentation

- Add `-U` to pre-release installation command (7803)
- Fix `get_window` docstring reference (7835)
- Clarify sparse .transpose() return type in docstrings (7868)
- DOC: cupyx/scipy: add missing names (7898)
- Fix CUDA 12.2 for Windows notice (7922)
- Bump CuPy version in install.rst (8002)
- Update installation guide to note about cuTENSOR 2.0 support (8003)
- Update wheels list in README (8006)

Installation

- Avoid warning when uploading packages (7792)
- Fix ROCm Dockerfile not working (7797)
- Add cuSignal license (7816)
- Improve symlink handling and preflight (7945)
- Bump docker cuda version to 12 (7973)

Tests

- Add timeout to Windows CI (7775)
- Fix mypy not installed in pre-review test (7832)
- Execution tests for typing tests passing rows in `typing_tests` (7836)
- CI: Remove path length limitation on Windows CI image (7857)
- Fix Windows CI failures (7862)
- Skip test_pos_boolarray if numpy>=1.25 (7893)
- Add NumPy 1.25/1.26 & SciPy 1.11 to CI (7897)
- Skip some LOBPCG tests failing with SciPy 1.11 (7924)
- Support Python 3.12, add Windows CI (7947)
- Skip logspace test in NumPy 1.25 & 1.26 (7946) (7948)
- Fix Windows test scripts (7957)
- Skip `test_parameterize_pytest_impl` test for pytest 7.4.3 (7965)
- Fix `TestLOBPCG.test_maxit_None` CUDA 12.2 CI failure (8000)

Others

- Fix publish workflow permission and output for review (7788)
- Fix backport workflow (7831)
- Avoid triggering Project Updates for updates from assignees (7861)
- Bump version to v13.0.0rc1 (8015)

👥 Contributors

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

anaruse andfoy asi1024 emcastillo ev-br fazledyn-or kerry-vorticity kmaehashi leofang loganbvh milesvant mtsokol mvnvidia negin513 shino16 takagi

2.0.0

Not secure
This is a major release of CuPy v2.0.0. All of the updates since the previous major version (v1.0.0) can be found in the release notes below:

2.0.0rc1

Not secure
This is the release of CuPy v2.0.0rc1. See [here](https://github.com/cupy/cupy/milestone/10?closed=1) for the complete list of solved issues and merged PRs.

Changes that break compatibility
- Change the default value of the `order` argument of `copy` from `’C’` to `’K’` (159)
- Add `order` and `subok` arguments to `array` (167). It breaks the compatibility of positional arguments.

New features
- Complex numbers (232)
- Memory hook (264). It can be used to observe the memory allocation/deallocation events.
- New functions
- Complex routines: `angle`, `conj`, `imag`, `real` (232)
- `einsum` (199, thanks fukatani!)
- Linear algebra: `linalg.solve` (207), `linalg.tensorsolve` (215), `linalg.inv` (441), `linalg.pinv` (459)
- Random numbers: `random.shuffle` (216, thanks KotaroSetoyama!)
- Sorting: `partition` (270)
- New features in sparse matrices
- Support `dia_matrix` (313, 321, 320, 450)
- Sparse matrix creation methods: `eye` (399), `spdiags` (388) and `identity` (358)
- `csr_matrix` and `csc_matrix` are improved: `__mul__` (239), `__rmul__` (300), `__getitem__` (240, 301, 302), `dot` (351, 352)
- Initializers of `csr_matrix`, `csc_matrix`, and `coo_matrix` support `shape` argument (316, 375)
- Sparse matrices can have duplicated elements (326, 371)
- `order` argument in `toarray` method of csc and csr (311)
- `__pow__` (359)
- Conversion from a dense array to a sparse matrix (335)
- Support conversion from `scipy.sparse` matrix to `cupy.sparse` (370)
- Added supports of new libraries
- NumPy 1.13 (347)
- CUDA9 support (353, thanks anaruse!)
- cuDNN7 support (362, thanks anaruse!)
- NCCL2 support (363, thanks anaruse!)
- `argsort` for arrays of rank two or more (288)
- Fix race-condition on memory pool (382)
- Implemented copy option of array conversion methods and wrote tests (408)
- Enable saving CUDA source with environment variable (415)
- Basic support of CUDA unified memory (447)
- Use original function name as fusion kernel name (448)
- Support `replace=False` in `random.choice` (453)
- Add a `sync` option to `time_range` (474, thanks anaruse!)

Bug fixes
- Fix bug of empty `coo_matrix` (328)
- Fix default behavior of methods in `spmatrix` (356)
- Made dummy implementation to prevent infinite loop (364)
- Avoid to call python methods in `__dealloc__()`, use `__del__()` instead. (381)
- Fix race-condition on memory pool (382)
- Fix view when the itemsize of the dtype changes (406, thanks boeddeker!)
- Use double backslash in str literal (418)
- Improved `pow` test (421)
- Use `randint` instead of `random_integer`, which is deprecated (425)
- Fix `diagonal` (428, thanks fukatani!)
- Use `six.assertRegex` (432)
- Fix for numpy1.13 (445)
- Fix tocsc behavior for an empty dia matrix (451)

Improvements
- Tell the memory size when `cudaErrorMemoryAllocation` occurred (314)
- Simplify nogil (164)
- Skip cross compile on `setup.py` develop to build faster (309)
- Remove device memory allocation out of memory pool (337)
- Avoid importing NumPy docstring (355)
- Improve header handling (367)
- Remove redundant code in `cupy_thrust.cu` (369)
- Improve `_tril()` and `_triu()` with an `ElementwiseKernel` (377)
- Remove unnecessary condition (383)
- Add semicolons to the reduction kernel template (386)
- Remove redundant transpose (390)
- Fix usage about `ElementwiseKernel` (391)
- Remove duplicated preamble definition. (402)
- Fix `cumsum` (414)
- Use `AxisError` to maintain compatibility to multiple versions of NumPy (437)
- doc: Sort out navigation menu (444)
- Improve `tensordot_core` (465)
- Simplify `flip` (468)
- Use `None` instead of `set()` to improve memory allocation performance (475)

Installation
- Skip cross compile on `setup.py develop` to build faster (309)
- Fix double declaration of `tuple_less` (368)
- Made a cutomized version of sdist command to use cython (446)

Documentation
- Fix a grammatical error in tutorial (267)
- Add `cupy.sparse` reference (299, 303)
- Cleanup `README.md` (334)
- Hide source link for alien objects (354)
- Avoid importing NumPy docstring (355)
- Remove unsupported `strides` argument from docstring (361)
- Fix `matmul` arguments (384, thanks hvy!)
- Add link to our contribution guide (392)
- Update docstring of `linalg.einsum` (405)
- Write docstring of A property and its test (407)
- Use double backslash in str literal (418)
- Fix typo in `sparse.spdiags` docstring. (426)
- Remove "Edit on GitHub" link (434)
- Reorganize navigation menu (444)
- Clear doctest warnings (455)
- Add documents of `linalg` (456)
- Write docstring of `sparse.issparse` (470)

Examples
- Conjugate Gradient (94, thanks KotaroSetoyama!)

Tests
- Example test (297)
- Add test for `cuda.cusolver_enabled` flag (374)
- Write tests for operators for sparse matrices (401)
- Write docstring of `A` property and its test (407)
- Fix test for random generator (413)
- Fix `cumsum` test (414)
- Add test for `transpose` when axes is not `None` (420)
- Improved `pow` test (421)
- Changed order argument for unknown order test as SciPy causes DeprecationWarning (422)
- Add tests for `asfptype` (423)
- Add `assert_warns` (424)
- Use `randint` instead of `random_integer` that is deprecated (425)
- Use `six.assertRegex` (432)
- Show error message when an error occurs on example test (433)
- Fix tests on Windows (435)
- Fix tolerance of arithmetic tests (443)
- Added test for `__iter__` of `csr_matrix` (449)
- Fix `tocsc` behavior for an empty `dia` matrix (451)
- Fix test for `tensorsolve` (454)
- Skip NumPy `clip` tests in Windows (467)
- Fix typo in test function names (394)

Others
- Configure flake8 to ignore the .git directory (339)

Page 23 of 25

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.