Sitio web | Instalar | Tutoría | Ejemplos | Documentación | Referencia de API | Foro
CuPy es una biblioteca de matrices compatible con NumPy/SciPy para computación acelerada por GPU con Python. CuPy actúa como un reemplazo directo para ejecutar código NumPy/SciPy existente en plataformas NVIDIA CUDA o 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 también proporciona acceso a funciones CUDA de bajo nivel. Puede pasar ndarray
a programas CUDA C/C++ existentes a través de RawKernels, usar Streams para mejorar el rendimiento o incluso llamar directamente a las API de CUDA Runtime.
Los paquetes binarios (wheels) están disponibles para Linux y Windows en PyPI. Elija el paquete adecuado para su plataforma.
Plataforma | Arquitectura | Dominio |
---|---|---|
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 ( experimental ) | x86_64 | pip install cupy-rocm-4-3 |
ROCm 5.0 ( experimental ) | x86_64 | pip install cupy-rocm-5-0 |
Nota
Para instalar versiones preliminares, agregue --pre -U -f https://pip.cupy.dev/pre
(por ejemplo, pip install cupy-cuda11x --pre -U -f https://pip.cupy.dev/pre
).
Los paquetes binarios también están disponibles para Linux y Windows en Conda-Forge.
Plataforma | Arquitectura | Dominio |
---|---|---|
CUDA | x86_64/aarch64/ppc64le | conda install -c conda-forge cupy |
Si necesita una instalación sencilla (sin instalar también las dependencias de CUDA), puede hacerlo conda install -c conda-forge cupy-core
.
Si necesita usar una versión CUDA particular (por ejemplo, 12.0), puede usar el metapaquete cuda-version
para seleccionar la versión, por ejemplo, conda install -c conda-forge cupy cuda-version=12.0
.
Nota
Si encuentra algún problema con CuPy instalado desde conda-forge
, no dude en informar a cupy-feedstock y le ayudaremos a investigar si se trata solo de un problema de embalaje en la receta de conda-forge
o un problema real en CuPy.
Utilice NVIDIA Container Toolkit para ejecutar imágenes de contenedor CuPy.
$ docker run --gpus all -it cupy/cupy
Licencia MIT (ver archivo LICENSE
).
CuPy está diseñado en base a la API de NumPy y la API de SciPy (consulte el archivo docs/source/license.rst
).
CuPy está siendo desarrollado y mantenido por Preferred Networks y contribuyentes de la comunidad.
Ryosuke Okuta, Yuya Unno, Daisuke Nishino, Shohei Hido y Crissman Loomis. CuPy: una biblioteca compatible con NumPy para cálculos de GPU NVIDIA. Actas del taller sobre sistemas de aprendizaje automático (LearningSys) en la trigésima primera conferencia anual sobre sistemas de procesamiento de información neuronal (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 ahora es parte de CuPy a partir de la versión 13.0.0. ↩