Bot releases are hidden (Show)
Published by asi1024 almost 5 years ago
This is the release note of v7.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers the difference from v7.0.0rc1; for all highlights and changes, please refer to the release notes of the pre-releases:
See the Upgrade Guide if you are upgrading from previous versions. Also, note that we dropped the support of Python 2.7 and 3.4 from CuPy v7.
cupyx.seterr(linalg=True)
, but it sometimes decrease performance because checking cuSOLVER devInfo
and cuBLAS infoArray
requires device synchronization.scipy.fft
to cupyx
(#2355, thanks @peterbell10!)RawKernel
(#2426, thanks @leofang!)errstate
configuration to control cuSOLVER devInfo
and cuBLAS infoArray
checks (#2437)errstate
and related functions (#2535)tobytes
for CuPy arrays (#2617, thanks @jakirkham!)fromfile
(#2626, thanks @jakirkham!)using_allocator
context manager (#2627)searchsorted
(#2726)cupy.RawKernel
and cupy.RawModule
(#2551, thanks @leofang and @grlee77!)sinc
(#2646)ndattay.reduced_view
(#2694)set_allocator
and get_allocator
symmetric (#2707)cupy.cupyx
(#2722)ParameterInfo.__repr__
(#2747)axis
argument; Fix alignments for Thrust's complex types (#2562, thanks @leofang!)argmax()
and argmin()
(#2596, thanks @leofang!)__init__
function call overhead in memory allocation (#2671)with
overhead in memory allocation (#2672)numpy.find_common_type
(#2683, thanks @grlee77!)dtype
object for speed in _scalar
(#2684)ElementwiseKernel
object (#2685)threading.local()
object overhead (#2687)prod_sequence
to avoid creating vector
(#2689)set_contiguous_strides
(#2690)__init__
call when creating CArray object (#2691)get_reduced_dims
(#2692)_reduce_dims
(#2693)broadcast
(#2696)_dtype
(#2700)_ndarray_init
to reduce ndarray creation cost (#2701)ElementwiseKernel
kernel globally instead of per instance (#2474)!=
instead of is not
for literal (#2561, thanks @Dobatymo!)linalg.qr
(#2586, thanks @IvanYashchuk!)__cuda_array_interface__
data pointer for 0-size arrays (#2611, thanks @leofang!)__align__
in ROCm (#2638)reshape
on empty arrays (#2648)pinv
for complex datatypes (#2657, thanks @YoujinShin!)det
and slogdet
on singular inputs (#2660)AttributeError
of stride_tricks
(#2679)cupy_cufft.h
(#2560, thanks @leofang!)dumps
return value as bytes
(#2619, thanks @jakirkham!)std::map
for simple implementation (#2670)cupy/internal.py
(#2739, thanks @leofang!)CODE_OF_CONDUCT
typo (#2609)as_strided
(#2680)setup.py
(#2582)examples/stream/map_reduce.py
(#2588, thanks @leofang!)__cuda_array_interface__
(#2536, thanks @leofang!).git
in ChainerCV compatibility CI (#2577)testing.parameterize
using the latest version from Chainer (#2633, thanks @grlee77!)get_c_contiguity
(#2686)Published by toslunar almost 5 years ago
This is the release note of v6.6.0. See here for the complete list of solved issues and merged PRs.
Python 3.8 is now officially supported and we are providing wheels for this version.
cupy.where
(#2615, thanks @AntoineDujardin!)__cuda_array_interface__
to protocol version 2 (#2669, thanks @leofang!)cupy.cupyx
(#2724)linalg.qr
(#2602, thanks @IvanYashchuk)reshape
on empty arrays (#2652)ElementwiseKernel
kernel globally instead of per instance (#2659)CODE_OF_CONDUCT
typo (#2628)as_strided
(#2713)setup.py
(#2653)examples/stream/map_reduce.py
(#2603, thanks @leofang!)AttributeError
of stride_tricks
(#2705)Published by asi1024 almost 5 years ago
This is the release note of v6.5.0. See here for the complete list of solved issues and merged PRs.
fastrlock
(#2501)cupy.repeat
error message about repeats
argument type (#2506)coosort
(#2487, thanks @econtal!)Published by beam2d almost 5 years ago
This is the release note of v7.0.0rc1. See here for the complete list of solved issues and merged PRs.
This time, we will keep the current branches for active development (master
for v7.x, v6
for v6.x) after the RC. We will maintain v6.x series until Python2 EOL, so we do not cut the new development version for now to avoid increasing the number of branches to maintain. New features will be included directly into v7 for a while, and maintenance changes will be backported to v6.
cupy.ndarray
in cupy.pad
(#2504)
cupy.pad
does no longer convert the input to cupy.ndarray
automatically. This is done under the design principle of not implicitly synchronizing the host and the device, which most of the other APIs are also following.nvcc
as a RawKernel
backend (#1941, thanks @sjperkins and @leofang!)isin
and in1d
(#2388, thanks @UmashankarTriforce!)scipy.ndimage
compatible convolve
and correlate
(#2483)cupy.cuda.memory.get_allocator
interface (#2489)cupy.linalg.inv
(#2342)cupy.pad
with a heavily refactored version from NumPy 1.17 (#2399, thanks @grlee77!)cupy.repeat
error message about repeats
argument type (#2400)fastrlock
(#2488)__cuda_array_interface__
to protocol version 2 (#2491, thanks @leofang!)axis=None
in concatenate (#2496, thanks @liwt31!)@testing.numpy_cupy_
decorators for skips (#2498)cupy.ndarray
in cupy.pad
(#2504)testing.for_dtypes_combination
(#2511)real
and imag
on CUDA kernels (#2520)cupy.linalg.qr()
(#2526, thanks @leofang!)cupyx.fallback_mode
as an experimental feature (#2541)cupy.var
complex inputs (#2484)cupy.linalg.norm
, etc.) (#2517, thanks @grlee77!)install_rocm.rst
(#2512)cupy.cross
test (#2503)test_build.py
(#2514, thanks @leofang!)Published by hvy about 5 years ago
This is the release note of v7.0.0b4. See here for the complete list of solved issues and merged PRs.
cupy.cross
(#2366, thanks @UmashankarTriforce!)cupy.may_share_memory
(#2417)scatter_max
and scatter_min
(#2427)RawKernel
(#2432, thanks @leofang!)CuDNNError
to have more debugging information (#2404)cupy.std
and cupy.var
(#2411, thanks @grlee77!)cupy.linalg.inv()
(#2468, thanks @leofang!)sum
/min
/max
(#2090)common_type
(#2307)cupy.linalg.norm
: update docstring and improve performance for ord=2
cases (#2479, thanks @grlee77!)coosort
(#2410, thanks @econtal!)cupy.cuda.cufft.get_current_plan()
(#2435, thanks @leofang!)devInfo
dtype in inv
and unify how those are specified (#2454)ndarray
private methods (#2465)CUTENSOR_PATH
environment variable (#2386)ValueError
for n-clusters > 2
in k-means example (#2453, thanks @casheera!)cupy.fuse
tests (#2339)ifft
test (#2441)ifft
test (#2443)TestDLTensorMemory.test_delete
(#2451)pytest
5.x version errors (#2473)Published by beam2d about 5 years ago
This is the release note of v6.4.0. See here for the complete list of solved issues and merged PRs.
shape
argument in *_like
functions (#2418, thanks @pentschev!)ifft
test (#2445)TestDLTensorMemory.test_delete
(#2458)Published by asi1024 about 5 years ago
This is the release note of v7.0.0b3. See here for the complete list of solved issues and merged PRs.
cupy.RawModule
has been introduced to allow users access low-level features (CUDA modules).
Due to the end-of-life (EOL) of Python 2 in January 2020, Python 2 support has been dropped in this release. CuPy v6.x continues to support Python 2. See the blog post for details.
cupy.nanargmin
and cupy.nanargmax
(#2222, thanks @harshalchaudhari35!)fallback_mode.ndarray
(#2272, thanks @Piyush-555!)take_along_axis
(#2314)cupy.nanmean
(#2319, thanks @Piyush-555!)cupy.nanvar
and cupy.nanstd
(#2344, thanks @Piyush-555!)cupy.RawModule()
(#2389, thanks @leofang!)diagonal
method for cupyx.scipy.sparse.dia_matrix
(#2398, thanks @grlee77!)*_like
functions (#2171, thanks @pentschev!)numpy.vectorize
in fallback_mode
(#2350, thanks @Piyush-555!)DeprecationWarning
on 0-dim arrays in numpy.nonzero
to match NumPy 1.17 behavior (#2394)accept_error
(#2396)cupy.tensordot
use Tensor Core also in case of compute-capability > 70 (#2328)tri
kernel (#2326)isnan
(#2364)fusion.pyx
and docs (#2393, thanks @xuzijian629!)linalg.svd
documentation (#2321, thanks @IvanYashchuk!)linalg.svd
docs (#2323)__array_function__
support (#2352)linalg.svd
(#2338)test_type_routines.py
(#2358)random.power
test with forbidden value (#2375)TestArrayElementwiseOp
as temporary fix (#2376)numpy.nonzero
in _make_decorator
(#2385)Published by beam2d about 5 years ago
This is the release note of v6.3.0. See here for the complete list of solved issues and merged PRs.
diagonal
method for cupyx.scipy.sparse.dia_matrix
(#2412, thanks @grlee77!)allow_pickle
in cupy.load
and cupy.save
(#2291)cupy.tensordot
use Tensor Core also in case of compute-capability > 70 (#2335)linalg.svd
documentation (#2322, thanks @IvanYashchuk!)linalg.svd
docs (#2327)__array_function__
support (#2353)random.power
test with forbidden value (#2380)numpy.nonzero
in _make_decorator
(#2395)nonzero
test for 0d arrays in NumPy 1.17 (#2401)Published by hvy over 5 years ago
This is the release note of v7.0.0b2. See here for the complete list of solved issues and merged PRs.
cupy.cutensor
has been introduced that wraps cuTENSOR, allowing high-performance tensor operations. Examples are available here.cupy.load
now specifies allow_pickle=False
by default to follow the security fix made in NumPy 1.16.3 (see numpy/numpy #13359 and cupy/cupy #2290 for details). Most users should not be affected by this change; users loading ndarray
serialized using pickle may need to explicitly specify allow_pickle=True
.nansum
and nanprod
support (#2252, thanks @pentschev!)cudnnFindConvolution*
(#2234)lu_factor
(#2286, thanks @econtal!)cupy.ndarray.{nansum/nanprod}
(#2292)csrmvEx
) when csr_matrix
multiply with a dense vector (#2287, thanks @wonghang!)can_cast
, common_type
and result_type
functions (#2249, thanks @pentschev!)__cuda_array_interface__()['strides']
be tuple
(#2260, thanks @leofang!)CUDNN_STATUS_BAD_PARAMS
(#2261, thanks @himkt!)allow_pickle
in cupy.load
and cupy.save
(#2290)mpi4py
(#2270, thanks @leofang!)Published by niboshi over 5 years ago
This is the release note of v6.2.0. See here for the complete list of solved issues and merged PRs.
cupy_array[:] = numpy_array
(#2219, thanks @pentschev!)_preprocess_args
to avoid calling hasattr (#2263)_prepare_multiple_array_indexing
(#2264)constant
modification to vector_equal
(#2265)__cuda_array_interface__()['strides']
be tuple
(#2273, thanks @leofang!)CUDNN_STATUS_BAD_PARAMS
(#2285, thanks @himkt!)can_cast
, common_type
and result_type
functions (#2304, thanks @pentschev!)mpi4py
(#2288, thanks @leofang!)Published by hvy over 5 years ago
This is the release note of v7.0.0b1. See here for the complete list of solved issues and merged PRs.
Host to device copy from NumPy ndarrays is now allowed as an experimental feature with the syntax cupy_array[:] = numpy_array
. Set the environment variable CUPY_EXPERIMENTAL_SLICE_COPY
to try it out.
cupy_array[:] = numpy_array
(#2079, thanks @pentschev!)linalg.lstsq
(#2165, thanks @cjekel!)fallback_mode
(#2229, thanks @Piyush-555!)CUDNN_POOLING_MAX_DETERMINISTIC
(#2239)atomicAdd
in histogram and sample (#1345)cupy.ndarray.get()
/set()
(#2169, thanks @hyabe!)_prepare_multiple_array_indexing
(#2254)_preprocess_args
to avoid calling hasattr
(#2256)constant
modification to vector_equal
(#2257)List[ndarray]
in cupy.array
(#2081)power
for large integrals (#2204)tensordot
, allowing 0-length arrays (#2209, thanks @pentschev!)RandomState.permutation
compatible with random.permutation
(#2250)cupy-cuda101
to README (#2196)array_split
with non-equally dividing sections (#2207)Published by niboshi over 5 years ago
This is the release note of v6.1.0. See here for the complete list of solved issues and merged PRs.
atomicAdd
in histgram
and sample
(#2217)array_split
with non-equally dividing sections (#2214)RandomState.permutation
compatible with random.permutation
(#2253)Published by kmaehashi over 5 years ago
This is the release note of v7.0.0a1. See here for the complete list of solved issues and merged PRs.
hostRegister
and hostUnregister
(#2102)strides_check
option in array testing functions (#2150)ascontiguousarray
with 0-dim array input (#2078)cupy.where
(#2175, thanks @AntoineDujardin!)__cuda_array_interface__
data pointer for sliced arrays (#2129, thanks @pentschev!)stream.pyx
(#1945)einsum
(#2131)diff
and unwrap
(#2124)assert_array_equal(strides_check=True)
(#2156)Published by beam2d over 5 years ago
This is the release note of v6.0.0. See here for the complete list of solved issues and merged PRs.
This release note only covers the difference from v6.0.0rc1; for all highlights and changes, please refer to the release notes of the pre-releases:
See the Upgrade Guide if you are upgrading from previous versions.
__cuda_array_interface__
data pointer for sliced arrays (#2134, thanks @pentschev!)diff
and unwrap
(#2142)Published by niboshi over 5 years ago
This is the release note of v5.4.0. This is the final release of v5.x series. See here for the complete list of solved issues and merged PRs.
cupy.cudnn.batch_normalization_forward_training
(#2094)int
(#2082, thanks @grlee77!)copy
(#2093)_Chunk.split
(#2112, thanks @liwt31!)dltensor
with strides of NULL
(#2119, thanks @crcrpar!)strides
to docstring of ndarray
(#2109, thanks @crcrpar!)Published by beam2d over 5 years ago
This is the release note of v6.0.0rc1. See here for the complete list of solved issues and merged PRs.
v6
branch.diff
and unwrap
(#1933, thanks @a2kiti!)copyto
method (#1983)lu_factor
and lu_solve
to cupyx.scipy.linalg
(#2051, thanks @msakai!)__cuda_array_interface__
(#2058)cupy.cudnn.batch_normalization_forward_training
(#2072)isinstance
for numpy.dtype
(#2016)_routines_manipulation
(#2038)int
(#1943, thanks @grlee77!)copy
(#2075)_Chunk.split
(#2103, thanks @liwt31!)assert
in helper.py
instead of self.assertXXX
(#2077)device.pyx
(#2121)__array_function__
(#1979)linalg.cholesky
with more stable inputs (#2084)Published by beam2d over 5 years ago
This is the release note of v6.0.0b3. See here for the complete list of solved issues and merged PRs.
cupy.put
and cupy.place
(#1787, thanks @grafi-tt!)plan
argument to FFT functions in cupyx.scipy.fftpack
(#1942 #2033, thanks @leofang!)out
argument to ndarray.get
for asynchronous device-to-host copy (#1970, thanks @jeng1220)cupy.fuse
(#1379)cupy.allclose
(#1947, thanks @leofang!)import numpy
(#2040)iscomplexobj
(#1991)get_ufunc_kernel
(#2019)get_device_id
call (#2021)_is_fusing
performance (#2023)cupy.random.randint
fail with size zero (#1967)__dealloc__
instead of __del__
for cdef-classes to fix memory leak (#1995, thanks @msakai!)__array_function__
bug (#2024)cudaMalloc
(#2028, thanks @grlee77!)dtype
for ipiv
buffer in cupy.linalg.inv
(#2043, thanks @msakai!)cupy.fuse
(#1789)cupy.fft
and cupyx.scipy.fftpack
(#2035, thanks @leofang!)cupyx.scipy.get_array_module
's docstring (#2050, thanks @msakai!)plan
argument in 2D/3D FFT functions experimental (#2056)assert_array_list_equal
(#1997)Published by hvy over 5 years ago
This is the release note of v5.3.0. See here for the complete list of solved issues and merged PRs.
import numpy
(#2054)iscomplexobj
(#1993)cupy.random.randint
fail with size zero (#1981)free_all_blocks
to free CUDA memory (#1987)__dealloc__
instead of __del__
for cdef-classes to fix memory leak (#2000)cudaMalloc
(#2037)cupy-cuda100
to README (#1980)assert_array_list_equal
(#2003)Published by hvy over 5 years ago
This is the release note of v6.0.0b2. See here for the complete list of solved issues and merged PRs.
__array_function__
interface allowing CuPy arrays to be passed to NumPy functions.__array_function__
interface (#1650)PlanNd
class for faster 2D and 3D FFTs (#1746, thanks @grlee77!)order
argument to empty_like
, zeros_like
, etc. (#1819, thanks @grlee77!)cupyx.scipy.sparse.diags
(#1840, thanks @grlee77!)order
kwarg to cupy.reshape
and the underlying ndarray
method (#1843, thanks @grlee77!)asarray
, asanyarray
, ndarray.get
, tonumpy
(#1845, thanks @grlee77!)cumsum
, cumprod
: support array-like input (#1847, thanks @grlee77!)attributes
property to Device
(#1869, thanks @grlee77!)as_strided
(#1897, thanks @fujiisoup!)fnc
and forc
to core.flags.Flags
(#1898, thanks @grlee77!)roll
as in NumPy 1.12+ (#1818, thanks @grlee77!)cupy.util.PerformanceWarning
(#1607)RandomState
(#1689, thanks @mrocklin!)cupy.fuse
taking any parameters when fails to fuse (#1817)item
instead of asscalar
to support NumPy 1.16 (#1880)None
as parameters of Fusion.__call__
(#1965)cudnn.py
performance (#1375)matmul
perfomance (x3 faster) (#1547)matmul
(small changes) (#1894)Fusion.__call__
(#1832)RecursionError
bug in conj
method of sparse matrix classes (#1846, thanks @grlee77!)None
as cx
argument in cuDNN RNN functions (#1862)ndarray
initialization bug (#1907)size
attribute of externally allocated memory (#1926)ndim
not using cdef
(#1935)Plan1D
class is C contiguous (#1944, thanks @grlee77!)cudnn.pyx
(#1966)cupy.around
documentation (#1856)diags
to documentation (#1872)_ufunc_wrapper
and _reduction_wrapper
(#1888)min
and max
(#1828)randint
high value in test for Windows (#1892)core.pyx
(#1620)core.create_comparison
(#1829)core.pyx
(#1949)internal.pyx
(prod
) (#1951)External*
to CFunction*
(#1958)core.pyx
(#1959)Published by mitmul over 5 years ago
This is the release note of v5.2.0. See here for the complete list of solved issues and merged PRs.
cupyx.scipy.sparse.diags
(#1865, thanks @grlee77!)ndim
not using cdef
(#1939)internal.pyx
(prod
) (#1960)randint
high value in test for Windows (#1902)