pypi cupy 13.0.0b1
v13.0.0b1

latest releases: 14.2.0, 14.1.1, 14.1.0...
3 years 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!

✨ Highlights

Improved Coverage of 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.

Support for CUDA 12.2

CuPy now supports CUDA 12.2. Note that there is a known issue on CUDA 12.2 for Windows. See #7776 for details.

Removal of cupy-wheel Package

Due 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.

Support us via GitHub Sponsors!

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.

🛠️ Changes without compatibility

  • Support for the following platforms are removed in CuPy v13. (#7647)
    • CUDA 10.2, 11.0, and 11.1
    • Python 3.8
    • NumPy 1.21
    • cuTENSOR 1.5 or earlier
    • NCCL 2.15 or earlier
    • cuDNN 8.7 or earlier
    • Ubuntu 18.04
  • APIs deprecated in NumPy 1.25 (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)

📝 Changes

New Features

  • Add cupyx.scipy.ndimage.value_indices (#7410)
  • Add Euclidean distance transform (scipy.ndimage.distance_transform_edt) (#7413)
  • Add cupy.scipy.linalg.bandwidth functionality (#7507)
  • cupyx.scipy.signal: add firls and freqz, freqz_zpk, sosfreqz (#7537)
  • cupyx.scipy.signal: add CZT and ZoomFFT (#7543)
  • Add sosfilt_zi to cupyx.scipy.signal (#7552)
  • filter design "prototypes" (#7553)
  • Add sosfiltfilt to cupyx.scipy.signal (#7558)
  • Add iirfilter and related filter design functions (#7591)
  • cupyx.scipy.signal: add hilbert and hilbert2 (#7607)
  • cupyx/scipy.signal: port *ord filter design functions from scipy.signal (#7632)
  • Add gammatone, group_delay to cupyx.scipy.signal (#7633)
  • Add iir{notch,comb,peak} design functions (#7634)
  • Add kaiser{ord,_beta,_atten} functions (#7635)
  • cupyx/scipy/signal: add abcd_normalize (#7637)
  • Add cupyx.scipy.signal.minimum_phase (#7638)
  • Add find_peaks, peak_prominences, peak_widths to cupyx.scipy.signal (#7640)
  • Add cupyx.signal.{freqs, freqs_zpk, findfreqs} (#7641)
  • cupyx/scipy/signal: add unique_roots, invres{z}, residue{z} (#7644)
  • cupyx/scipy/signal: add missing LTI format conversions (#7652)
  • Implement scipy.linalg.khatri_rao (#7659)
  • Add LTI class hierarchy and lti/dlti related functions (#7660)
  • cupyx/scipy/signal: add correlation_lags (#7707)
  • Add 1D signal b-splines to cupyx.scipy.signal (#7715)
  • Add the matrix exponential expm (#7744)

Enhancements

  • Let the user specify a starting vector for eigsh (#7487)
  • cupy.kron can accept numeric arguments, replicating numpy.kron behavior (#7608)
  • Deprecate support for out-dated platforms in CuPy v13 (#7647)
  • Add mixed precision (FP16) support for ROCm (#7663)
  • Minor updates for cuQuantum/cuTensorNet support (#7723)
  • Bump mypy version to 1.4.1 (#7735)
  • Support CUDA 12.2 (#7748)
  • Avoid overflow warnings in test_astype_strides (#7622)
  • Deprecate cupy.round_ (#7623)
  • Deprecate product, cumproduct, alltrue and sometrue (#7645)

Bug Fixes

  • Fix returned CUDA statuses not being checked (#7613)
  • Fix memory pool to try resolve fragmentation when limit is set (#7679)
  • Fix cuSPARSE error message (#7680)
  • Fix type/exception annotations in cuSPARSE binding (#7692)
  • Update pylibcugraph weakly connected components call (#7693)
  • Fix aweights type not checked in cupy.cov (#7701)
  • Temporarily disable CUB histogram (#7708)
  • Improve detection for package installation source on Windows (#7709)
  • Revert FP16 headers from CUDA 12.2.0 to CUDA 12.1.1 (#7758)

Code Fixes

  • Introduce cython-lint (#7508)
  • Remove cupy.cuda.compile_with_cache (#7734)
  • Cosmetic changes of cupy/typing (#7738)
  • MAINT: centralize np.roots calls (#7740)

Documentation

  • Improve README and Installation Guide (#7580)
  • update badges (#7594)
  • Fix small typos in docstrings (#7655)
  • Fix docstring of asarray (#7668)
  • Remove incorrect cupyx.distributed.NCCLBackend.all_gather comment (#7746)
  • Add CUDA 12.2 to list of supported CUDA (#7753)
  • Fix Note highlight sections in README (#7767)
  • Note device sync on some cupyx.scipy.signal API documents (#7771)
  • Add notes for CUDA 12.2 on Windows support (#7777)

Installation

  • Fix cupy-wheel package installation fails with pip 23.1+ (#7597)
  • Remove cupy-wheel package (#7745)

Tests

  • Bump versions of static checkers (#7595)
  • Fix build-cuda test restore-keys not working (#7610)
  • Fix hilbert and hilbert2 test condition (#7619)
  • Change test pass condition for TestChoiceChi::test_goodness_of_fit (#7626)
  • cupyx/signal: skip tests against older SciPy versions, adjust test tolerances (#7627)
  • Fix test_fht not to feed cupy.ndarray to scipy.fft.fhtoffset (#7643)
  • Ignore pkg_resources deprecation warning on import (#7653)
  • Skip TestLOBPCG::test_maxit_None in CUDA 12.1.1 & cuSOVLER 11.4.5 (#7669)
  • Bump CUDA minor versions used in CI (#7682)
  • XFAIL known test failures in cuSPARSE module (#7688)
  • Allow specifying Docker repository for CI images (#7689)
  • Use "/test" tag configuration from pull-request base branch (#7705)
  • CI: remove explicit Cython installation (#7729)
  • Fix test_sum_duplicates_incompatibility for SciPy 1.11 (#7763)

Others

  • Fix command in issue template for Windows (#7601)
  • Fix flake8-cython not working (#7602)
  • Add workflow to automatically updating Pull-Request dashboard project (#7631)
  • Dump event payload for debugging (#7646)
  • Pass pull-request number via artifact (#7648)
  • Use GitHub App to update org-wide project (#7649)
  • Do not trigger on closed pull-requests and fix to work with issue_comment trigger (#7650)
  • Fix project automation to skip when pull-request is already closed (#7658)
  • Add env var to disable RPATH (#7691)
  • Fix project update workflow (#7710)
  • Fix github-token used in workflow (#7712)
  • Bump version to v13.0.0b1 (#7754)
  • Add workflow to publish to PyPI (#7779)

👥 Contributors

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

Don't miss a new cupy release

NewReleases is sending notifications on new releases.