pypi cupy 14.0.0
v14.0.0

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

CuPy v14.0.0 Release Note

CuPy v14 is our first major update in two years, bringing significant enhancements to the ecosystem, including NumPy v2 semantics, improved installation via CUDA Pip Wheels, bfloat16 and structured dtypes, and expanded platform support.

Note

Check out our blog post for the key highlights and major changes in CuPy v14!

The following part of the release note only covers the changes since the last pre-release (v14.0.0rc1).

📝 Changes

See here for the complete list of merged PRs.

New Features

  • Add %gpu_timeit IPython magic (#9572)
  • Support viewing CuPy arrays as cuda::std::mdspan on host/device (#9639)
  • Add CUDA Stream Protocol support (#9640)
  • ENH: ml_dtypes.bfloat16 support (#9659)

Enhancements

  • Support CUDA 13.1 and NCCL 2.28 (#9550)
  • Update to CCCL v3.1.2 (#9556)
  • Support cuTensor 2.4 (#9601)
  • MAINT: Delete the array api namespace and all related things (#9609)
  • Avoid allocating an intermediate array in cupy.random.choice (#9619)
  • DEP: Deprecate jitify=True support (and jitify=False) (#9671)
  • Support cp.from_dlpack with ml_dtypes.bfloat16 Optionally (#9675)
  • Improve pathfinder support (#9683)
  • Add guard for unsupported CUDA version in cuFFT setJITCallback (#9692)
  • ENH: make broadcast_arrays, meshgrid return a tuple not list (#9599)

Performance Improvements

  • MAINT,ENH: Simplify CScalar handling and ready it for arbitrary dtypes (#9546)
  • Add fast-path for gufunc (specifically matmul) (#9564)
  • MAINT,PERF: Add fast-path and avoid errors in operators/array-ufunc (#9574)
  • MAINT: A few small micro-optimizations (#9679)

Bug Fixes

  • Fix ctk extras (#9553)
  • Fix intersect1d crash with empty arrays (#9563)
  • Add N-D array support to upfirdn (#9565)
  • Fix conda compiler detection (#9577)
  • BUG: Make sure indexing routines are OK with huge arrays (#9580)
  • Add missing ROCm packages in duplicate detection (#9595)
  • ENH: do not unload modules/code that have been used (#9617)
  • BUG: Fix RandomState thread safety (and memory initialization) (#9623)
  • Fix #9568: Handle negative inputs in sawtooth and square waveforms (#9624)
  • Fix compute capability list and remove CUDA 11 related code (#9626)
  • TST: Skip bfloat16 dlpack test on old CUDA versions (#9681)
  • Fill bfloat16 gaps around arange and some reduction (#9694)

Code Fixes

  • Fix CI (mini) (#9578)
  • TYP: Fix small typing issues found in new pre-commit env (#9581)
  • TST: migrate tests from unittest to pytest (#9610)
  • Make FFT config more thread-safe and adatapt FFT tests (#9616)

Documentation

  • Update docs for CuPy v15 (#9545)
  • Fix #7828: Remove self from ndarray docstring signature (#9618)
  • Add missing items to migration guide (#9685)
  • Doc: add support for CUDA 13.1 (#9697)

Installation

  • Declare Python 3.14 support in package metadata (#9598)
  • Bump CuPy version in Docker images (#9702)

Tests

  • Update branch configuration (#9544)
  • Fix cuda-python CI & the test status retrieval in Windows CI (#9571)
  • BUG,TST: Fix cupy_tests/core_tests runs for pytest-run-parallel (#9583)
  • TST: Reorganize cublas tests for thread-safety (#9603)
  • Fix TestChoiceReplaceFalse check (#9633)
  • Support NumPy 2.4 (#9635)
  • Bump disk size limit for cuda.head CI (#9637)
  • Fix Windows CI + Tightening up /test logic (#9638)
  • CI: Update cache handling in CI (#9645)
  • CI: Bump disk image size for all ci axes (#9646)
  • CI: Fix expiry (#9652)
  • Avoid caching cuFFT legacy callback artifacts (#9678)
  • Upgrade rocm test environment to 7.1 (#9687)
  • TST: Slightly bump SVD test tolerance (but tighten it for float64) (#9688)

Others

👥 Contributors

The CuPy Team would like to thank all those who contributed to this release!

@asi1024 @EarlMilktea @ev-br @gpinkert @Harishjitu @isVoid @kmaehashi @leofang @megha-darda @seberg @aman-coder03 @yangcal @yujiteshima

Don't miss a new cupy release

NewReleases is sending notifications on new releases.