Vue d'ensemble

CuPy 13.0, publie le 15 janvier 2024, prepare la compatibilite NumPy 2.0 et ameliore les performances des noyaux CUDA.

Fonctionnalites principales

Compatibilite NumPy 2.0

CuPy 13 aligne son API sur NumPy 2.0, avec le support des nouveaux dtypes et la depreciation des anciennes API.

python
import cupy as cp
import numpy as np

# API alignee sur NumPy 2.0
x = cp.array([1, 2, 3, 4, 5])
print(cp.mean(x))        # 3.0 (GPU)
print(cp.asnumpy(x))     # conversion vers NumPy
print(type(x.get()))     # numpy.ndarray

Noyaux CUDA optimises

Les noyaux de reduction et les operations de tri sont optimises pour les GPU recents (Ampere, Hopper).

python
import cupy as cp

# Operations GPU optimisees
x = cp.random.randn(1_000_000)
y = cp.sort(x)           # tri GPU optimise
z = cp.sum(x ** 2)       # reduction GPU

cp.cuda.Stream.null.synchronize()
print(f'Somme carres: {float(z):.2f}')

Sources