pypi cupy 2.0.0a1
v2.0.0a1

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

This is the release of CuPy v2.0.0a1. See here for the complete list of solved issues and merged PRs.

Release Notes

Important updates

  • We start using NVRTC 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

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)

Don't miss a new cupy release

NewReleases is sending notifications on new releases.