Vue d'ensemble
CuPy 12.0, publié le 15 avril 2023, assure la compatibilité avec NumPy 1.24 et améliore les performances des opérations GPU.
Fonctionnalités principales
Compatibilité NumPy 1.24
CuPy 12.0 s'aligne sur l'API de NumPy 1.24, permettant de basculer du CPU vers le GPU avec un minimum de modifications de code.
python
import cupy as cp
# API identique à NumPy, exécutée sur GPU
x = cp.random.randn(10000, 10000)
y = cp.random.randn(10000, 10000)
# Multiplication matricielle sur GPU
z = cp.matmul(x, y)
print(f'Forme : {z.shape}') # (10000, 10000)
print(f'Moyenne : {z.mean():.4f}')
Performances améliorées
Les kernels CUDA ont été optimisés pour les opérations de réduction et les fonctions élémentaires, offrant des gains significatifs sur les GPU récents.
python
import cupy as cp
import numpy as np
# Transfert CPU -> GPU
donnees_cpu = np.random.randn(1000000)
donnees_gpu = cp.asarray(donnees_cpu)
# Calcul sur GPU
resultat_gpu = cp.fft.fft(donnees_gpu)
# Transfert GPU -> CPU
resultat_cpu = cp.asnumpy(resultat_gpu)
print(f'Éléments : {len(resultat_cpu)}')
