Site Web | Installer | Tutoriel | Exemples | Documents | Référence API | Forum
CuPy est une bibliothèque de tableaux compatible NumPy/SciPy pour le calcul accéléré par GPU avec Python. CuPy agit comme un remplacement immédiat pour exécuter le code NumPy/SciPy existant sur les plates-formes NVIDIA CUDA ou AMD ROCm.
> >> import cupy as cp
> >> x = cp . arange ( 6 ). reshape ( 2 , 3 ). astype ( 'f' )
> >> x
array ([[ 0. , 1. , 2. ],
[ 3. , 4. , 5. ]], dtype = float32 )
> >> x . sum ( axis = 1 )
array ([ 3. , 12. ], dtype = float32 )
CuPy donne également accès aux fonctionnalités CUDA de bas niveau. Vous pouvez transmettre ndarray
aux programmes CUDA C/C++ existants via RawKernels, utiliser Streams pour les performances ou même appeler directement les API CUDA Runtime.
Des packages binaires (wheels) sont disponibles pour Linux et Windows sur PyPI. Choisissez le package adapté à votre plateforme.
Plate-forme | Architecture | Commande |
---|---|---|
CUDA 11.x (11.2+) | x86_64 / aarch64 | pip install cupy-cuda11x |
CUDA 12.x | x86_64 / aarch64 | pip install cupy-cuda12x |
ROCm 4.3 ( expérimental ) | x86_64 | pip install cupy-rocm-4-3 |
ROCm 5.0 ( expérimental ) | x86_64 | pip install cupy-rocm-5-0 |
Note
Pour installer les versions préliminaires, ajoutez --pre -U -f https://pip.cupy.dev/pre
(par exemple, pip install cupy-cuda11x --pre -U -f https://pip.cupy.dev/pre
).
Des packages binaires sont également disponibles pour Linux et Windows sur Conda-Forge.
Plate-forme | Architecture | Commande |
---|---|---|
CUDA | x86_64 / aarch64 / ppc64le | conda install -c conda-forge cupy |
Si vous avez besoin d'une installation mince (sans également installer les dépendances CUDA), vous pouvez faire conda install -c conda-forge cupy-core
.
Si vous devez utiliser une version particulière de CUDA (disons 12.0), vous pouvez utiliser le métapaquet cuda-version
pour sélectionner la version, par exemple conda install -c conda-forge cupy cuda-version=12.0
.
Note
Si vous rencontrez un problème avec CuPy installé à partir de conda-forge
, n'hésitez pas à le signaler à cupy-feedstock, et nous vous aiderons à déterminer s'il s'agit simplement d'un problème d'emballage dans la recette de conda-forge
ou d'un véritable problème dans CuPy.
Utilisez NVIDIA Container Toolkit pour exécuter des images de conteneur CuPy.
$ docker run --gpus all -it cupy/cupy
Licence MIT (voir fichier LICENSE
).
CuPy est conçu sur la base de l'API de NumPy et de l'API de SciPy (voir le fichier docs/source/license.rst
).
CuPy est développé et maintenu par Preferred Networks et les contributeurs de la communauté.
Ryosuke Okuta, Yuya Unno, Daisuke Nishino, Shohei Hido et Crissman Loomis. CuPy : une bibliothèque compatible NumPy pour les calculs GPU NVIDIA. Actes de l'atelier sur les systèmes d'apprentissage automatique (LearningSys) lors de la trente et unième conférence annuelle sur les systèmes de traitement de l'information neuronale (NIPS) , (2017). [PDF]
@inproceedings { cupy_learningsys2017 ,
author = " Okuta, Ryosuke and Unno, Yuya and Nishino, Daisuke and Hido, Shohei and Loomis, Crissman " ,
title = " CuPy: A NumPy-Compatible Library for NVIDIA GPU Calculations " ,
booktitle = " Proceedings of Workshop on Machine Learning Systems (LearningSys) in The Thirty-first Annual Conference on Neural Information Processing Systems (NIPS) " ,
year = " 2017 " ,
url = " http://learningsys.org/nips17/assets/papers/paper_16.pdf "
}
cuSignal fait désormais partie de CuPy à partir de la v13.0.0. ↩