Skip to content

v7.0.0rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@beam2d beam2d released this 25 Oct 06:11
d9415c1

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

Announcements

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.

Highlights

  • Experimental support of AMD GPUs are added (#1094). See the installation guide for how to install CuPy with AMD support. Note that this feature is still experimental, and we do not guarantee the API stability.

Changes without compatibility

  • Avoid casting inputs to cupy.ndarray in cupy.pad (#2504)
    • From this release, 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.

New Features

  • Experimental support of AMD GPU via HIP (ROCm2.7.0+) (#1094)
  • Adds nvcc as a RawKernel backend (#1941, thanks @sjperkins and @leofang!)
  • Support cuTENSOR 0.2 (#2341)
  • Implement isin and in1d (#2388, thanks @UmashankarTriforce!)
  • Support scipy.ndimage compatible convolve and correlate (#2483)
  • Added cupy.cuda.memory.get_allocator interface (#2489)
  • Handle PCI bus ID (#2531, thanks @jameshclrk!)
  • Expand coverage of cuSolverSP APIs (#2539)
  • Add cuSPARSE routines for preconditioners (#2542)

Enhancements

  • Fix division by zero in mean/std/var functions for 0-length dimensions (#2201, thanks @pentschev!)
  • Improve error message in cupy.linalg.inv (#2342)
  • Replace cupy.pad with a heavily refactored version from NumPy 1.17 (#2399, thanks @grlee77!)
  • Fix cupy.repeat error message about repeats argument type (#2400)
  • Ignore warning caused by fastrlock (#2488)
  • Update __cuda_array_interface__ to protocol version 2 (#2491, thanks @leofang!)
  • Allow axis=None in concatenate (#2496, thanks @liwt31!)
  • Fix @testing.numpy_cupy_ decorators for skips (#2498)
  • Avoid implicit cast inputs to cupy.ndarray in cupy.pad (#2504)
  • Cholesky decomposition to support complex values (#2509)
  • Enhance shuffle-test of testing.for_dtypes_combination (#2511)
  • Allow to use real and imag on CUDA kernels (#2520)
  • Support complex numbers in cupy.linalg.qr() (#2526, thanks @leofang!)
  • Fix bug in CUB + Native support of complex numbers in CUB (#2538, thanks @leofang!)
  • Support cupyx.fallback_mode as an experimental feature (#2541)
  • Support stream in CUB (#2555, thanks @leofang!)

Performance Improvements

  • Performance improvement for cupy.var complex inputs (#2484)
  • Enable fast CUB-based reductions in more cases (cupy.linalg.norm, etc.) (#2517, thanks @grlee77!)

Code Fixes

Documentation

  • Fix dead links in NumPy docs in random functions (#2384)
  • Update install_rocm.rst (#2512)
  • Fix some typo (#2523, thanks @garanews!)

Tests

  • Fix memory pool disabled during tests (#2452)
  • Skip bool-bool inputs in cupy.cross test (#2503)
  • Fix error in test_build.py (#2514, thanks @leofang!)
  • Move CI requirements to CuPy repository (#2533)
  • Fix for NumPy 1.14.x compatibility (#2544)
  • Workaround bug in NumPy 1.12.x or earlier (#2545)