Bot releases are hidden (Show)
This is the release note of v13.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers changes made since the v13.0.0rc1 release. Check out our blog for highlights of the v13 release!
See the Upgrade Guide for the list of possible breaking changes in v13.
💬 Join the Matrix chat to talk with developers and users and ask quick questions!
🙌 Help us sustain the project by sponsoring CuPy!
For all changes in v13, please refer to the release notes of the pre-releases (alpha1, beta1, rc1).
cupyx.signal.pulse_compression
from cuSignal's non SciPy-compat API (#8039)cupyx.signal.convolve1d3o
from cuSignal's non SciPy-compat API (#8067)cupyx.signal.{pulse_doppler, cfar_alpha}
(#8069)cupyx.signal.convolve1d2o
(#8113)cupyx.signal.radartools
private (#8053)csrmatrix.__pow__
to raise ValueError for non-int other (#8085)lfilter_zi
and sosfilt_zi
when any IIR coefficient is zero (#8036)argmax/argmin
for large reduction axis (#8041)cupyx.scipy.fft.{dst,dstn}
in type 2/3 (#8082)from-import
(#8114)convolve1d3o
(#8100)radartools
(#8106)CUDA_PATH
warning in Conda installation (#8076)signal.vectorstrength
xfail tests (#8083)scipy.linalg
not to raise DeprecationWarning for zero-size inputs (#8086)scipy.special.{btdtr,btdtri}
are deprecated since SciPy (#8094)@andfoy @asi1024 @emcastillo @hauntsaninja @kmaehashi @takagi
The CuPy Team would like to thank all those who contributed to this release!
Published by asi1024 11 months ago
This is the release note of v13.0.0rc1. See here for the complete list of solved issues and merged PRs.
This is a release candidate of the CuPy v13 series. Please start testing your workload with this release to prepare for the final v13 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 v13.
💬 Join the Matrix chat to talk with developers and users and ask quick questions!
🙌 Help us sustain the project by sponsoring CuPy!
NVIDIA cuTENSOR is a performant and flexible library for accelerating tensor linear algebra. CuPy v13 supports cuTENSOR 2.0, the latest major release of the library, achieving higher performance than cuTENSOR 1.x series.
cuSignal is a library developed by the NVIDIA RAPIDS project 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.
Added initial support for sharding ndarray
s across multiple GPU devices connected to the same host.
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.
Binary packages are now available for Python 3.12.
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.
lombscargle
from cuSignal to cupyx.scipy.signal
(#7563)periodogram
, welch
and csd
from cuSignal to cupyx.signal
(#7564)cusignal
windows module to cupyx.scipy.signal
(#7568)cupy.lib.stride_tricks.sliding_window_view
(#7575)cupyx/scipy/signal
: add place poles (#7666)check_{NOLA, COLA}
to cupyx.scipy.signal
(#7675)argrel{extrema, max, min}
to cupyx.scipy.signal from cusignal
(#7694)waveforms
from cusignal to cupyx.scipy.signal
(#7696)wavelets
module from cusignal to cupyx.scipy.signal
(#7700)cupyx.scipy.signal
(#7721)firwin/firwin2
from cuSignal (#7722)upfirdn
from cuSignal (#7749)gauss_spline
from cuSignal (#7837)stft/istft
from CuSignal to cupyx.scipy.signal
(#7838)vectorstrength
, coherence
and spectrogram
from CuSignal to cupyx.scipy.signal
(#7853)decimate
, resample
and resample_poly
from cuSignal to cupyx.scipy.signal
(#7855)max_len_seq
to cupyx.scipy.signal
(#7867)cupy_backends.cuda.libs.nvrtc
(#7621)cusolver_enabled
, cub_enabled
, thrust_enabled
flags (#7840)cupyx.jit.cub
APIs (#7869)device_id=-1
to get_current_stream
(#7885)__slots__
to cupy.ndarray
(#7891)cupy.show_config()
(#7995)numpy.find_common_type
(#7651)NINF
, PINF
, Inf
,... usages (#7800)cupy.empty_like
parameter name to prototype
(#7827)stream
kwonly argument in ndarray.__dlpack__
(#7829)scipy.linalg.{tri/tril/triu}
are deprecated in SciPy 1.11.0 (#7889)signal.medfilt
complex error type for SciPy>=1.11 (#7890)cupyx.scipy.sparse._base
tests for SciPy 1.11 (#7905)maxiter
in TestLOBPCG
(#7908)spmatrix._set_many
(#7888)cupy.r_
for scalar inputs (#7896)NotImplementedError
with NotImplemented
(#7900)NVRTCError
not calling initialize()
(#7955)cupyx.lapack
(#7993)pkg_resources
for cuTENSOR wheel discovery (#8012)cupyx.cusolver
(#7714)third_party
directory (#7956)-U
to pre-release installation command (#7803)get_window
docstring reference (#7835)typing_tests
(#7836)test_parameterize_pytest_impl
test for pytest 7.4.3 (#7965)TestLOBPCG.test_maxit_None
CUDA 12.2 CI failure (#8000)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
Published by asi1024 11 months ago
This is the release note of v12.3.0. See here for the complete list of solved issues and merged PRs.
This is the last planned release for the CuPy v12 series. Please start testing your workload with the v13 release candidate to get ready for the final v13 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 v13.
💬 Join the Matrix chat to talk with developers and users and ask quick questions!
🙌 Help us sustain the project by sponsoring CuPy!
Binary packages are now available for Python 3.12.
NINF
, PINF
, Inf
,... usages (#7805)numpy.find_common_type
(#7810)scipy.linalg.{tri/tril/triu}
are deprecated in SciPy 1.11.0 (#7902)signal.medfilt
complex error type for SciPy>=1.11 (#7909)TestSpmatrix
on SciPy 1.11 or later (#7918)product
, cumproduct
, alltrue
and sometrue
for deprecation (#7936)round_
tests (#7937)cupyx.cusolver
(#7819)-U
to pre-release installation command (#7806)test_parameterize_pytest_impl
test for pytest 7.4.3 (#7968)TestLOBPCG.test_maxit_None
CUDA 12.2 CI failure (#8007)The CuPy Team would like to thank all those who contributed to this release!
@asi1024 @emcastillo @kmaehashi @leofang @mtsokol @mvnvidia
Published by kmaehashi about 1 year ago
This is the release note of v12.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!
CuPy now supports CUDA 12.2. Note that there is a known issue on CUDA 12.2 for Windows. See #7776 for details.
As a part of our effort to make CuPy sustainable, we have enrolled in GitHub Sponsors to accept donations. Help us to support CuPy’s development and contribute to ease the required infrastructure costs due to the need of GPU enabled CI platforms and resources to build binary packages.
As a NumFOCUS Sponsored Project, funds sponsored through the GitHub Sponsors are collected and disbursed via NumFOCUS, a 501(c)(3) public charity in the United States, which acts as the fiscal sponsor for the project.
cupy-wheel
PackageDue to the recent specification change in Pip 23.1, it became difficult for cupy-wheel
to ensure detecting the CUDA version installed correctly. As discussed in RFC #7628, we have decided to remove this package in CuPy v13. To allow existing projects using cupy-wheel
to continue to work, the package remains available for v12 releases.
aweights
type not checked in cupy.cov
(#7717)cython-lint
(#7612)asarray
(#7695)cupyx.distributed.NCCLBackend.all_gather
comment (#7765)cupy-wheel
package installation fails with pip 23.1+ (#7624)restore-keys
not working (#7614)round_
tests (#7642)pkg_resources
deprecation warning on import (#7656)TestLOBPCG::test_maxit_None
in CUDA 12.1.1 & cuSOVLER 11.4.5 (#7670)test_fht
not to feed cupy.ndarray
to scipy.fft.fhtoffset
(#7728)The CuPy Team would like to thank all those who contributed to this release!
@12rambau @asi1024 @emcastillo @jnke2016 @kmaehashi @leofang @pelmers @pri1311 @RandomY-2 @takagi
Published by kmaehashi about 1 year ago
This is the release note of v13.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!
cupyx.scipy.signal
and cupyx.scipy.interpolate
APIs (#7507, #7537, #7543 and others)More than 20 new APIs are now included in cupyx.scipy.signal
.
Acknowledgments: 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.
CuPy now supports CUDA 12.2. Note that there is a known issue on CUDA 12.2 for Windows. See #7776 for details.
cupy-wheel
PackageDue to the recent specification change in Pip 23.1, it became difficult for cupy-wheel
to ensure detecting the CUDA version installed correctly. As discussed in RFC #7628, we have decided to remove this package in CuPy v13. To allow existing projects using cupy-wheel
to continue to work, the package remains available for v12 releases.
As a part of our effort to make CuPy sustainable, we have enrolled in GitHub Sponsors to accept donations. Help us to support CuPy’s development and contribute to ease the required infrastructure costs due to the need of GPU enabled CI platforms and resources to build binary packages.
As a NumFOCUS Sponsored Project, funds sponsored through the GitHub Sponsors are collected and disbursed via NumFOCUS, a 501(c)(3) public charity in the United States, which acts as the fiscal sponsor for the project.
product
, cumproduct
, alltrue
, and sometrue
) now emits DeprecationWarning
in CuPy as well. (#7645)cupy.cuda.compile_with_cache
, which is a private API and has been marked deprecated since CuPy v10, has been removed. Please use RawKernel
or RawModule
instead. (#5297, #7734)cupyx.scipy.ndimage.value_indices
(#7410)scipy.ndimage.distance_transform_edt
) (#7413)cupy.scipy.linalg.bandwidth
functionality (#7507)firls
and freqz
, freqz_zpk
, sosfreqz
(#7537)sosfilt_zi
to cupyx.scipy.signal
(#7552)sosfiltfilt
to cupyx.scipy.signal
(#7558)iirfilter
and related filter design functions (#7591)hilbert
and hilbert2
(#7607)*ord
filter design functions from scipy.signal
(#7632)gammatone
, group_delay
to cupyx.scipy.signal
(#7633)iir{notch,comb,peak}
design functions (#7634)kaiser{ord,_beta,_atten}
functions (#7635)abcd_normalize
(#7637)cupyx.scipy.signal.minimum_phase
(#7638)find_peaks
, peak_prominences
, peak_widths
to cupyx.scipy.signal
(#7640)cupyx.signal.{freqs, freqs_zpk, findfreqs}
(#7641)unique_roots
, invres{z}
, residue{z}
(#7644)scipy.linalg.khatri_rao
(#7659)LTI
class hierarchy and lti/dlti
related functions (#7660)correlation_lags
(#7707)cupyx.scipy.signal
(#7715)expm
(#7744)eigsh
(#7487)cupy.kron
can accept numeric arguments, replicating numpy.kron behavior (#7608)cupy.round_
(#7623)product
, cumproduct
, alltrue
and sometrue
(#7645)aweights
type not checked in cupy.cov
(#7701)cython-lint
(#7508)cupy.cuda.compile_with_cache
(#7734)np.roots
calls (#7740)asarray
(#7668)cupyx.distributed.NCCLBackend.all_gather
comment (#7746)cupy-wheel
package installation fails with pip 23.1+ (#7597)cupy-wheel
package (#7745)restore-keys
not working (#7610)hilbert
and hilbert2
test condition (#7619)test_fht
not to feed cupy.ndarray
to scipy.fft.fhtoffset
(#7643)pkg_resources
deprecation warning on import (#7653)TestLOBPCG::test_maxit_None
in CUDA 12.1.1 & cuSOVLER 11.4.5 (#7669)test_sum_duplicates_incompatibility
for SciPy 1.11 (#7763)issue_comment
trigger (#7650)RPATH
(#7691)github-token
used in workflow (#7712)The CuPy Team would like to thank all those who contributed to this release!
@12rambau @andfoy @asi1024 @ev-br @grlee77 @jglaser @jmbr @jnke2016 @kmaehashi @KyanCheung @leofang @pelmers @pnunna93 @pri1311 @RandomY-2 @sametz @takagi
Published by kmaehashi over 1 year ago
This is a hot-fix release for v12.1.0 to address an issue reported in #7593 that pip install cupy-wheel
raises an error with Pip v23.1 or later. See here for the complete list of solved issues and merged PRs.
This fix only applies to the cupy-wheel
meta package. As there are no differences in CuPy functionalities with v12.1.0, no releases are made for CuPy's source/binary packages.
We are also considering removing cupy-wheel
meta package in CuPy v13. Join the discussion in #7628 if you have any suggestions or comments.
Published by takagi over 1 year ago
This is the release note of v12.1.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!
array_api.take
function (#7513)-Xfatbin=-compress-all
(#7505)_depends.json
not included in wheel (#7584)The CuPy Team would like to thank all those who contributed to this release!
@andfoy @arogozhnikov @asi1024 @kmaehashi @leofang @seberg @takagi
Published by takagi over 1 year ago
This is the release note of v13.0.0a1. 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!
cupyx.scipy.signal
and cupyx.scipy.interpolate
APIs (#7442, #7496 and others)lfilter
, lfilter_zi
, filtfilt
, sosfilt
APIs are now included in cupyx.scipy.signal
, and NdPPoly
in cupyx.scipy.interpolate
modules.
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.
Sampling using cupy.random.Generator.*
methods were slower than the cupy.random.*
function calls using the old random API. Now the regression is solved, and performance has increased more than 4X when using the cupy.random.Generator
API.
Getting aligned with NumPy NEP29, Python 3.8 is no longer supported since CuPy v13.
NdPPoly
to cupyx.scipy.interpolate
(#7357)delete function
, add documentation (#7359)scipy.special.binom
functionality to CuPy (#7463)cupyx/scipy/signal
: add savgol_coeffs and savgol_filter (#7469)scipy.special.zetac
to cupyx (#7470)cupyx.scipy.special.exprel
(#7474)lfiltic and lfilter_zi
to cupyx.scipy.signal
(#7477)filtfilt
to cupyx.scipy.signal
(#7496)deconvolve
to cupyx.scipy.signal
(#7509)symiirorder1
to cupyx.scipy.signal
(#7511)symiirorder2
to cupyx.scipy.signal
(#7518)scipy.special.spherical_yn
(#7520)sosfilt
to cupyx.scipy.signal (#7528)scipy.signal
: add detrend (#7536)cupyx.scipy.signal
: add bilinear
& bilinear_zpk
(#7541)dtype
and casting
keyword arguments for hstack
, vstack
, stack
(#7490)concatenate
by slice manipulation in lfilter
(#7522)strict
option to testing.assert_array_equal
(#7481)symiirorder2
performance (#7526)type_test
to type_testing
(#7456)scipy.interpolate
module (#7433)-Xfatbin=-compress-all
(#7497)_depends.json
not included in wheel (#7578)master
to main
(#7448)The CuPy Team would like to thank all those who contributed to this release!
@AdrianAbeyta @Anas20001 @andfoy @arogozhnikov @asi1024 @chettub @emcastillo @ev-br @kmaehashi @KyanCheung @leofang @pri1311 @Raghav323 @seberg @takagi @tysonwu
Published by emcastillo over 1 year ago
This is the release note of v12.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers changes made since the v12.0.0rc1 release. Check out our blog for highlights of the v12 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!
CuPy now supports CUDA 12.1 and cuDNN 8.8. Binary packages are available for Linux (x86_64/aarch64) and Windows as cupy-cuda12x
.
$ pip install cupy-cuda12x
Binary packages for aarch64 (Jetson and Arm servers) can now be installed from PyPI.
$ pip install cupy-cuda102
$ pip install cupy-cuda11x
$ pip install cupy-cuda12x
Note: At the time of the release, Arm wheel of This issue was resolved on 2023-04-03.cupy-cuda11x
for Python 3.8 (cupy_cuda11x-12.0.0-cp38-cp38-manylinux2014_aarch64.whl
) is not available on PyPI. We are working on resolving this issue. Meanwhile, this wheel can be installed from the CuPy index. $ pip install cupy-cuda11x -f https://pip.cupy.dev/aarch64
For all changes in v12, please refer to the release notes of the pre-releases (alpha1, alpha2, beta1, beta2, beta3, rc1).
type_test
to type_testing
(#7461)scipy.interpolate
module (#7450)xfail
for invh
(#7485)The CuPy Team would like to thank all those who contributed to this release!
@AdrianAbeyta @asi1024 @emcastillo @kmaehashi @seberg
Published by asi1024 over 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!
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.
runtime.getDeviceProperties
(#7353)cupy.cuda.profiler.initialize
deprecated as it is removed in CUDA 12 (#7379)arange()
to raise TypeError
in boolean case (#7407)cupyx.scipy.sparse.eigsh
(#7361)TestRoundHalfway
(#7362)nanargmin/max
tests (#7381)fillvalue
overflow in cupyx.scipy.signal
test (#7401)The CuPy Team would like to thank all those who contributed to this release!
@asi1024 @emcastillo @kmaehashi @leofang @RisaKirisu
Published by asi1024 over 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!
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.
CuPy is now compatible with DLPack v0.8 to allow importing/exporting bool
arrays.
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.
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.
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.
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.
cupyx.distributed._array
implementation (#7040)PchipInterpolator
to cupyx.scipy.interpolate
(#7255)Akima1DInterpolator
to cupyx.scipy.interpolate
(#7260)cached_code
to ElementwiseKernel
and ReductionKernel
(#7265)RegularGridInterpolator
(#7334)BPoly
to cupyx.scipy.interpolate module
(#7343)runtime.getDeviceProperties
(#7302)cupy.cuda.profiler.initialize
deprecated as it is removed in CUDA 12 (#7377)cupy.cuda.Device
behavior to v9 (#7427)ndarray.fill
to raise ComplexWarning
(#7393)arange()
to raise TypeError
in boolean case (#7394)cupyx.scipy.sparse.eigsh
(#7356)CUPY_INCLUDE_PATH
and CUPY_LIBRARY_PATH
env vars (#7305)TestRoundHalfway
(#7338)nanargmin/max
tests (#7341)fillvalue
overflow in cupyx.scipy.signal
test (#7397)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
Published by kmaehashi over 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!
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.
cupy-cuda12x
to cupy-wheel
(#7327)array_api
(#7321)broadcast_to
(#7291)The CuPy Team would like to thank all those who contributed to this release!
@anaruse @hubertlu-tw @kmaehashi @leofang @takagi
Published by kmaehashi over 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!
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.
NVTX support in CuPy is now backed by NVTX3 instead of the legacy NVTX1.
cupyx.scipy.interpolate.make_interp_spline
(#7195)RegularGridInterpolator
and interpn
from scipy.interpolate
(#7197)PPoly
to cupyx.scipy.interpolate
(#7204)uniform()
to random generator (#7205)make_interp_spline(..., bc_type="periodic")
(#7206)CubicHermiteSpline
to cupyx.scipy.interpolate
(#7242)cupyx.scipy.sparse.linalg.spsolve
: allow two-dimensional right-hand sides in A @ X = B
(#7219)cupyx.scipy.sparse.linalg.eigsh
(#7269)RegularGridInterpolator
(#7275)cupy-cuda12x
to cupy-wheel
(#7300)array_api
(#7313)broadcast_to
(#7271)cupyx.scipy.interpolate
(#7262)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
Published by takagi almost 2 years 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!
lexsort
(#7191)cupyx.scipy.ndimage.zoom
for outputs of size 1 when mode is 'opencv'
(#7202)list(kwargs)
instead of list(kwargs.keys)
(#7213)The CuPy Team would like to thank all those who contributed to this release!
@emcastillo @hadipash @jjmortensen @kmaehashi @takagi
Published by takagi almost 2 years 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!
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.
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.
BSpline
to interpolate
module (#7086)cub::WarpReduce
and cub::BlockReduce
(#7145)cupyx.scipy.interpolate.RBFInterpolator
(#7190)splder
and splantider
(#7215)_PerfCaseResult.to_str
format (#7152)lexsort
(#7178)cupyx.scipy.ndimage.zoom
for outputs of size 1 when mode is 'opencv'
(#7192)warnings.warn()
(#7194)list(kwargs)
instead of list(kwargs.keys)
(#7203)comb()
for Python 3.7 (#7221)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
Published by asi1024 almost 2 years 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!
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.
Wheels are now available for Python 3.11.
cutensorPermutation
(#7083)inf
/nan
in cupy.fuse (#7128)op.routine
including in0_type
(#7096)__del__
in TCPStore
(#7111)cupy.nansum
in fusing (#7114)TypeError
in cupy._core.fusion._call_ufunc()
(#7130)/test jenkins
to trigger Jenkins only (#7129)The CuPy Team would like to thank all those who contributed to this release!
@anaruse @andfoy @asi1024 @emcastillo @kmaehashi @leofang @takagi
Published by asi1024 almost 2 years 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!
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.
Wheels are now available for Python 3.11.
ufunc
MethodsThis release adds ufunc.reduce
, ufunc.accumulate
, ufunc.reduceat
, and ufunc.at
methods. See the documentation for more details.
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.
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.
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.
axis
to cupy.logspace
(#6797)thrust::count, device
in CuPy JIT (#7054)cupy.ndarray.searchsorted
(#7059)add.at
, maximum.at
, minimum.at
(#7077)subtract.at
, bitwise_and.at
, bitwise_or.at
, bitwise_xor.at
(#7099)ufunc.reduce
and ufunc.accumulate
(#7105)cupy.add.reduceat
(#7115)cupy.min_scalar_type
(#7136)cupy.cudnn
cupy.cusolver
cupy.cutensor
cupy.cusparse
to cupyx
(#7013)ndarray.scatter_{add, max, min}
(#7097)inf
/nan
in cupy.fuse (#7122)TypeError
instead of ValueError
in cupy.from_dlpack
when CPU tensor is passed (#7133)__del__
in TCPStore
(#6989)op.routine
including in0_type
(#7076)cupy.nansum
in fusing (#7102)TypeError
in cupy._core.fusion._call_ufunc()
(#7113)_ufunc_method
directory (#7116)/test jenkins
to trigger Jenkins only (#7126)thrust::sort
test (#7162)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
Published by kmaehashi about 2 years 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!
cupyx.scipy
APIs (#6773, #6990, #7014, #7015, #7036)The coverage of SciPy interpolate
& special
APIs has increased. (Thanks @khushi-411 & @1MrEnot!)
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.
cupyx.scipy.special.logsumexp
(#6773)cupyx.scipy.interpolate.KroghInterpolator
(#6990)scipy.special.expi
and scipy.special.exp1
(#7014)cupy.byte_bounds
(#7015)cupyx.scipy.special.k0
, cupyx.scipy.special.k1
, cupyx.scipy.special.k0e
, cupyx.scipy.special.k1e
(#7036)ufunc.outer
(#7049)cupy.apply_along_axis
for tuple retval (#7068)cutensorPermutation
(#7070)csrsm2
memory leak (#7039)_routine_indexing.pyx
(#7053)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
Published by kmaehashi about 2 years 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!
csrsm2
memory leak (#7041)_routine_indexing.pyx
(#7056)distutils.utils
(#7009)The CuPy Team would like to thank all those who contributed to this release!
@andfoy @asi1024 @betatim @kmaehashi @leofang @takagi @wyli
Published by emcastillo about 2 years ago
This is the release note of v12.0.0a1. 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!
cupyx.scipy
APIs (#6823, #6849, #6855, #6890, #6958, #6971)The coverage of SciPy interpolate
, stats
& special
APIs has increased. (Thanks @khushi-411 & @andoorve!)
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
cupy.heaviside
api. (#6798)cupyx.scipy.special.log_softmax
(#6823)cupyx.scipy.stats.boxcox_llf
(#6849)cupyx.scipy.stats.{zmap, zscore}
(#6855)cupyx.scipy.special.softmax
(#6890)dtype
, fweights
, aweights
to cupy.cov
(#6892)cupyx.scipy.interpolate.BarycentricInterpolator
(#6958)scipy.special.cosm1
to cupyx
(#6971)__device__
option is missing (#6837)augassign
target is evaluated twice in JIT (#6844)_compile.py
(#6859)nanvar
and nanstd
(#6869)cupy.array_api
(#6871)kind
in sort
/argsort
and fix cupy.array_api.{sort,argsort}
accordingly (#6872)cupy-wheel
for v11 (#6903)deg
in cupy.angle
(#6905)cupy.array_api
(cont'd) (#6932)@pytest.mark.parametrize
in some cases (#6984)keepdims
parameter for average
(#6852)equal_nan
parameter for unique
(#6853)cupyx.scipy.ndimage
utilities (#6953)boxcox_llf
(#6884)cupy.clip
to match numpy (#6920)argpartition
use the kth argument properly (#6921)distutils.utils
(#7006)cupy.win.cuda117
(#6880)XFAIL
for tests/cupyx_tests/scipy_tests/sparse_tests/test_coo.py
when scipy>=1.9.0rc2
(#6894)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