pypi cupy 5.0.0b2
v5.0.0b2

latest releases: 14.2.0, 14.1.1, 14.1.0...
8 years ago

This is the release note of v5.0.0b2. See here for the complete list of solved issues and merged PRs.

Highlights

  • CuPy now supports DLPack to improve interoperability between frameworks. You can convert between cupy.ndarray and DLPack tensor using array.toDlpack() and cupy.fromDlpack(tensor). See the documentation for details.
  • CuPy ndarray now implements __array_ufunc__ protocol to improve interoperability with NumPy. It makes NumPy ufuncs applicable to CuPy ndarrays directly (for example, numpy.exp(cupy.ones(3)) will call cupy.exp to compute the exponential, and return CuPy ndarray).
  • CuPy now supports CUDA 9.2 and NumPy 1.14.
  • More NumPy/SciPy compatible methods have been implemented: cupy.linalg.matrix_power, cupy.random.laplace, cupy.corrcoef, cupy.cov, cupy.i0, cupy.sinc, cupyx.scipy.special.* and more.
  • cupy.einsum has been rewritten to use cuBLAS. This significantly reduces the memory usage and also improves the performance.
  • Allocation strategy of pinned memory has been improved to reduce host memory usage.
  • Fixed bugs in multiple functions with arrays with complex dtypes.

New Features

  • Support DLPack (#1082)
  • Implement cupy.corrcoef and cupy.cov (#1110, thanks @tsurumeso!)
  • Allow more natural fusion notation (#1167)
  • Implement special functions (#1233)
  • Implement __array_ufunc__ (#1247, thanks @martindurant!)
  • Improve performance of batch normalization (#1260)
  • Add complex dtype to sparse matrix (#1277, thanks @chengts95!)
  • Add cuDNN API for tensor operations and reduction (#1319, thanks @kashif!)
  • Add distribution laplace (#1321)
  • Implement cupy.linalg.matrix_power (#1374, thanks @ericmjl!)

Enhancements

  • Reduce Python function call in ElementwiseKernel (#725)
  • Check cuDNN convolution algorithm (#890)
  • Remove memory copy in diag function (#1129)
  • Fix linalg.matrix_rank casting for Windows (#1217)
  • Use cuBLAS in cupy.einsum (#1218)
  • Add divmod function to cupy namespace (#1286)
  • Improve ndarray initializing performance (#1341)
  • Fix type of return value of fused function (#1349)
  • Support composition of fused functions (#1350)
  • Support weak reference to CuPy array (#1355)
  • Remove cupy_stdint.h (#1361)
  • Round-up pooled memory allocation size with clp2 (#1372)
  • Reduce GPU memory usage in (de)convotion (#1381)
  • Support 'f' and 'c' in the order option of ndarray (#1385)

Bug Fixes

  • Fix OutOfMemoryError raised even when there are sufficient large freeable chunks (#1256, thanks @hyabe!)
  • Fix astype for complex dtypes (#1279)
  • Fix real and imag for zero-dim arrays (#1280)
  • Support rounding for complex types (#1282)
  • Support expm1, log1p, log2 for complex type (#1283)
  • Fix unary functions in misc for complex (#1284)
  • Fix binary functions in misc to support complex types (#1285)
  • Fix view of zerodim ndarray (#1287)
  • Catch C++ exceptions from Thrust (#1289)
  • Fix real, imag of non-contiguous complex arrays (#1303)
  • Fix rint syntax error (#1311)
  • Skip einsum test for NumPy versions with broken einsum (#1334)
  • Fix type of reduction (#1354)
  • Fix to accept longer order names (#1393)

Documentation

  • Add NumPy 1.14 to supported versions (#1139)
  • Update README to encourage use of wheels (#1208)
  • Improve sparse docs to show conversion from/to SciPy (#1213)
  • Force displaying known methods which are mis-recognized as attributes by Sphinx (#1250)
  • Expand reference on differences in zero-dimensional arrays (#1254)
  • Fix typo in sparse matrix docs (#1307)
  • Split LICENSE file (#1325)
  • Fix typo in profiler docs (#1327)
  • Reorganize license file (#1330)
  • Fix typos in zeros and zeros_like (#1357)
  • Update requirements for v5.0.0b2 / v4.2 release (#1369)

Installation

  • Use define macro in setup.py (#1121)
  • Support bundling dependent DLLs for Windows wheel support (#1253)
  • Remove deprecated imp.load_source in setup.py (#1329, thanks @vilyaair!)
  • Add license file to wheel (#1333)

Tests

  • Sparse complex ufunc (#1312)
  • Add scipy_name to testing helper functions (#1339)

Don't miss a new cupy release

NewReleases is sending notifications on new releases.