Cupy

Latest version: v13.1.0

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

Scan your dependencies

Page 24 of 25

2.0.0b1

Not secure
This is a minor release. See https://github.com/cupy/cupy/milestone/8?closed=1 for the complete list of solved issues and merged PRs.

New features

Sparse matrix

`cupy.sparse` is a module that implements `scipy.sparse` API using CUDA and cuSPARSE. We now have basic features for using sparse matrices on GPU.

- CSR and CSC (226)
- COO matrix (234)
- Conversion method from compressed matrix (csr, csc) to coordinate format (coo) (235)
- CSR and CSC copy (236)
- `__add__`, `__radd__`, `__sub__` and `__rsub__` for CSR and CSC (238)
- Fix `toarray` in `cupy.sparse.spmatrix` (312)
- Return `NotImplemented` instead of `NotImplementedError` (330)
- Use `csc2dense` to convert csr-matrix to dense (305)

We are planning to add more features to `cupy.sparse` in upcoming releases.

New memory allocator (168)

The memory pool implementation is greatly updated. It is based on best-fit allocation with coalescing. When there are a large number of allocations with different sizes (e.g. NLP applications), the memory usage is improved and the number of re-allocations is reduced (which also reduces the running time).

For example, the memory usage of the sequence-to-sequence code using Chainer (chainer/chainer2070) is reduced from 12GiB (which means the process is using all of the available GPU memory) to 3GiB, and the number of memory reallocations from 20 times to 0 times.

It may increase the memory usage in some cases, although the amount of additional usage is small in practice (see the benchmark results in 168).

You can use this memory allocator by calling `cupy.cuda.set_allocator(cupy.cuda.MemoryPool().malloc)` (when using Chainer, it is called by default).

Other features
- Implement `cupy.linalg.det` (96)
- Support `cupy.sort` to sort arrays along arbitrary axis (229)
- Implemented `RangeStart` and `RangeEnd` for NVIDIA visual profiler (nvvp) (246)
- Introduce `cupy.is_available()` which takes account of device availability (247)
- Implement `cupy.msort` (251, 329)

Bug fixes
- Fix `cupy.copyto` function to treat multiple GPUs correctly (220)
- Restore kernel type check (253)
- Fix `deepcopy` with multiple devices (254)
- Fix `cupy.argsort` for non-contiguous arrays (284)
- Fix `ldexp` on Windows (278)

Improvements
- Improve `cupy.argsort` performance (285)

Installation
- Remove old cuDNN support (219)
- Add compile options to build on Windows (244)
- Remove duplicated build options (280)
- Avoid creating garbage file on setup (287)
- Fix setup for cusolver (292)
- Use `cupy.cuda.thrust_enabled` to check Thrust enabled (224)

Documentation
- Updated difference with NumPy on reduction function behavior (144)
- Fix spelling in tutorial (268)
- Fix test instruction in README (310)
- Fix links to GitHub source pages (332)

Examples
- Add Gaussian Mixture Model (GMM) example (29, thanks KotaroSetoyama!)
- Make grid size to integer for SGEMM example (289, thanks yuyu2172!)
- Use absolute path in SGEMM example (291)
- Updated README for SGEMM example (245, thanks yuyu2172!)

Tests
- Use `cupy.testing.for_all_dtypes` (269)
- Enable style check for Python code in Travis (273)
- Refactor `cupy.argsort` tests (282)

Others
- Small fixes for `cupy.argsort` (223)

2.0.0a1

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

Release Notes

Important updates

- We start using [NVRTC](http://docs.nvidia.com/cuda/nvrtc/index.html#axzz4lq1anZZ4) instead of NVCC for kernel compilation. This change enables CuPy to run on an environment where CUDA is installed but NVCC is not available. Note that some features depending on Thrust (e.g. sorting functions) cannot be used if NVCC is not available at the installation.
- Many functions for sorting, linear algebra, and others are added

New features

- Use NVRTC instead of NVCC to compile kernels (33, 62)
- Sorting functions
- `cupy.msort` (150)
- `cupy.lexsort` (132)
- `cupy.argsort` (67)
- `cupy.sort` sorting arrays with two or more rank along last axis (186, 187)
- Make `cupy.sort` support arrays with rank two or more. (152)
- Linear algebra functions
- `cupy.linalg.slogdet` (95)
- `cupy.linalg.matrix_rank` (97)
- `cupy.linalg.eigh` and `cupy.linalg.eigvalsh` (46)
- Preliminary features to support sparse matrices
- Note: the sparse matrix itself cannot be used in this version, yet; we are planning to make it usable in the next beta.
- `cupy.sparse.spmatrix`, a base class of sparse matrices (40)
- Add cuSPARSE APIs (39)
- `cupy.mgrid` and `cupy.ogrid` (145, thanks iory!)
- `cupy.random.multinomial` (85)
- `cupy.cumprod` (110, thanks ronekko!)
- Support cuDNN v6 dilated convolution (133, thanks anaruse!)
- Add `total_bytes()`, `free_bytes()`, and `used_bytes()` methods to memory pool (184)
- Support `order` option in `astype` (111) and `copy` (112)
- `cupy.fuse` now does not require parentheses (43)
- Add `ndim` to `CArray` and `CIndexer` (160, 161)

Enhancement
- Improve memory deallocation (174)
- Skip installing thrust support in case nvcc not found in PATH. (91)
- Improve asynchronous host to device copy (123)
- Change the allocation unit size from 256 to 512 (176)
- Workaround to "No supported gcc/g++ host compiler found” error in Ubuntu 17.04 (198)
- Avoid synchronization in `cupy.array` for 0-dim values (157)
- Make `cupy.count_nonzero` return an array instead of `int` to avoid device-to-host synchronization (154)
- Check type in `assert_array_list_equal` (205)
- Improve performance (169, 171, 172, 193, 206)
- Improve testing utility (218, 231)
- Refactor `cupy.atleast_nd` functions (142)

Bug fixes
- Fix `out` argument in fusion (209, 213)
- Fix `cupy.array` on multiple GPU environment (122, 135)
- Fix usages of `copy` argument of `ndarray.astype` (118, 121)
- Make memory pool thread-safe (105, thanks kmaehashi!)
- Fix fusion to reject NumPy arrays (151)
- Fix thread safety of `cupy.random.get_random_state` (77, 78)

Documents
- Fix tutorial (93, thanks hvy!)
- Add links to GitHub source pages (131)
- Fix typo (148, thanks ignisan!)
- Write about advanced indexing support (88, thanks yuyu2172!)
- Remove description about discrepancy with NumPy regarding exponential of boolean arrays, which was resolved in NumPy 1.13.0 (140)
- Add missing documentation of `cupy.cumsum` (90, thanks ronekko!)
- Add documentation of `__getitem__` and `__setitem__` for ndarray (89, thanks yuyu2172!)
- Minor improvement for README and the document (45, 49, 117, 134, 138, 155 thanks ClimbsRocks!, 165, 177, 166)


Examples
- Add SGEMM example (114, 188, thanks yuyu2172!)
- Fix color argument in the k-means example (103)


Tests
- Stabilize `cupy.random.choice` test (98, 104)
- Fix Numpy `VisibleDeprecationWarning` in indexing tests (202)
- Make random tests deterministic (81, 82)
- Retry unit tests of decomposition functions (129)
- Fix bug of histogram in `RandomState.interval` test (175)

Others
- Add SciPy license (196)
- Fix error message in setup script (139)

1.2

relu = cupy.vectorize(lambda x: (x > 0.0) * x)
print(relu(a)) [ 0.4 -0. 1.8 -0. ]


Announcements

Drop support for CUDA 10.1 or earlier (5770)

As per the RFC in 5717 and [Twitter](https://twitter.com/CuPy_Team/status/1435465647178149895), the minimum CUDA version that is supported by CuPy v10 is CUDA 10.2.

Drop support for NCCL 2.6 and 2.7 (5855)

The minimum supported version for CuPy v10 is NCCL 2.8 as it implements the required primitives for `cupyx.distributed` to work.

Drop support for Python 3.6 (5771)

Following the Python 3.6 sunset on December 2021, and the compatibility lines with NumPy, starting CuPy v10, Python 3.6 will no longer be supported.

Drop support for NumPy 1.17 (5857)

As per [NEP29](https://numpy.org/neps/nep-0029-deprecation_policy.html#support-table), NumPy 1.17 support has been dropped on July 26, 2021.

Changes

New Features

- Add `cupy.array_api.linalg` (6199)

Enhancements

- Add more aliases for compatibility with NumPy (6080)
- Raise better message when importing CPU array via DLPack (6097)
- Apply upstream patch to `cupy.array_api` (6105)
- Borrow more non-GPU APIs from NumPy (6109)
- Import more dtype aliases from NumPy (6110)
- Borrow indexing APIs from NumPy (6111)
- Compile cub/thrust with no unique symbol (6140)
- Support cuDNN 8.3.0 (6150)
- Support eigenvalue solver 64bit API (6192)
- Support all advanced indexing (6196)
- Support lambda functions in `cupy.vectorize` (6217)
- Deprecate MachAr (support NumPy 1.22) (6189)

Performance Improvements

- Avoid 64bit division to reduce register consumption (6102)

Bug Fixes

- Fix `__all__` in `cupyx.scipy.fft` (6083)
- Detect repeated axis in reduction (6103)
- Fix `__getitem__` on Ellipsis and advanced indexing dimension (6113)
- Allow leading unit dimensions in copy source (6153)
- Always test broadcast in `copyto` (6155)
- Handles infinities of the same sign in `logaddexp` and `logaddexp2` (6176)
- Fix empty `solve` (6183)
- Fix empty Cholesky (6184)
- Fix 4675 on resolving TODO in 4198 (6204)
- Eigenvalue solver 64bit API on CUDA 11.1 (6220)

Code Fixes

- Avoid `from os import path` (6165)

Documentation

- Update stable branch (6065)
- Update labels of Docs column (6068)
- Add more footnotes to comparison table (6079)
- Exclude `kernel_version` from comparison table (6090)
- Remove `LLVM_PATH` note on document (6101)
- Add polynomial modules to comparison table (6122)
- Add link to compatibility matrix (6135)
- Update footnotes in comparison table (6143)
- Update conda-forge installation guide (6200)
- Update upgrade guide (6203)
- Update `linkcode` implementation (6206)
- Revise Overview for CuPy v10 (6215)

Installation

- Replace `distutils` with `setuptools` in Windows `cl.exe` detection (6138)
- Bump version to v10.0.0 (6224)

Tests

- Fix CI cannot override cuSPARSELt/cuTENSOR version preinstalled (6087)
- Workaround DeprecationWarning raised from pkg_resources (6095)
- Fix `testing.multi_gpu` to add pytest marker (6096)
- Fix missing `multi_gpu` annotation in tests (6100)
- Fix exception handling in cupyx.distributed (6116)
- Improve FlexCI test scripts (6119)
- Fix CI result notification message format (6124)
- CI: Add timeout to show_config (6132)
- CI: use separate project for multi-GPU tests (6145)
- CI: Need to update CUDA driver in cuda115.multi (6146)
- CI: Fix package override sometimes fails in CentOS (6147)
- CI: add link to ROCm projects in CI coverage matrix (6148)
- CI: Fix unquoted specifiers (6182)
- CI: Update limits to reduce cache size (6185)
- Trigger FlexCI from GitHub Actions (6191)
- Support pre-release NumPy version in tests (6193)

Contributors

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

asi1024 emcastillo eternalphane kmaehashi leofang okuta takagi toslunar twmht Yutaro-Sanada

1.0.3

Not secure
This release includes bug fixes and improvements to the documentation and tests. See the [list](https://github.com/cupy/cupy/milestone/9?closed=1) for the complete list of solved issues and merged PRs.

Bug fixes
- Avoid decoding nvcc output with UTF-8 to remove `UnicodeDecodeError`. (378, 379)
- Bug in view with different itemsize. (403, thanks boeddeker!)
- Avoid to call python methods in `__dealloc__` and use `__del__` instead. (411)
- Fix `ndarray.view` when the `itemsize` of the `dtype` changes. (416)
- Fix inconsistency of `ndarray.diagonal` between NumPy and CuPy. (436)

Improvements
- Make a compilation error readable. (380)
- Add semicolons to the reduction kernel template. (396)

Documentation
- Remove unsupported `strides` argument from docstring. (366)
- Hide source link for alien objects. (373)
- Fix the document of `matmul`. (412)
- Use double backslashes in `str` literals. (429)
- Clear doctest warnings. (457)
- Sort out navigation menu. (460)
- Fix a grammatical error in tutorial. (463)

Tests
- Use `randint` instead of `random_integer` that is deprecated. (430)
- Add `testing.assert_warns` and test deprecation warning of `Memory.free_all_free`. (431)
- Skip some tests for `RandomState` when NumPy < 1.11.0. (438)
- Loosen the torelance of tests for binary operators. (461)
- Fix typo in test names. (395)

1.0.2

Not secure
This release includes bug fixes and improvements to the documentation and tests. See the [list](https://github.com/cupy/cupy/milestone/7?closed=1) for the complete list of solved issues and merged PRs.

Enhancement

- Change `allocation_unit_size` from 256 to 512 (256)
- Avoid synchronize in array function (257)
- Deterministic test (217)
- Note that this change includes an additional public function; we prioritized stabilizing tests more than keeping the rule of not introducing new features in stable updates.

Bug fixes

- Fix out argument in fusion ufunc (242)
- Fix array method on multi GPU (258)
- Fix deepcopy with multiple devices (263)
- Fix multi-device copyto (275)
- Fix link args for cusolver (315)

Installation

- Add compile option to build on Windows (279)
- Do not create a.out on running python `setup.py` develop (293)
- Fix link args for cusolver (315)

Documentation

- Fix spelling in tutorial (272)
- Fix difference of reduction functions (324)
- Fix GitHub link (333)

Tests

- Make tests deterministic when possible (217)
- Add unit tests for `cupy.array` (259)
- Fix Numpy `VisibleDeprecationWarning` in indexing tests (261)
- Add retry to unit tests of decomposition functions (262)
- Fix travis test to enable style check for normal Python code (290)
- Skip bool unary negative test (341)

Other

- Add include option for covreage (286)
- Ignore generated reference (318)
- Add tags file to .gitignore (325)

1.0.1

Not secure
This release includes bug fixes and improvements on documents and tests. See the [list](https://github.com/cupy/cupy/milestone/3?closed=1) for the complete list of solved issues and merged PRs.

Release Notes

Enhancement
- Workaround to "No supported gcc/g++ host compiler found” error in Ubuntu 17.04 (243)

Bug fixes
- Make memory pool thread-safe (109, thanks kmaehashi!)
- Fix fusion to reject NumPy arrays (241)
- Fix thread safety of `cupy.random.get_random_state` (77, 99)

Documents
- Fix markdown in the tutorial (106, thanks hvy!)
- Write about advanced indexing support (126, thanks yuyu2172!)
- Remove description about discrepancy with NumPy regarding exponential of boolean arrays, which was resolved in NumPy 1.13.0 (146)
- Fix typo in the tutorial (153, thanks ignisan!)
- Other documentation improvements (125, 189, 173, 210)

Examples
- Fix color argument in the k-means example (107)

Install
- Skip installing thrust support in case nvcc not found in PATH. (116)
- Other install improvement: (143)

Others
- Improvement on tests (81, 124, 178, 179, 211, 212, 217, 230)
- Improvement on website (149, 194, 195)

Page 24 of 25

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.