Site | Instalar | Tutorial | Exemplos | Documentação | Referência de API | Fórum
CuPy é uma biblioteca de array compatível com NumPy/SciPy para computação acelerada por GPU com Python. CuPy atua como um substituto imediato para executar código NumPy/SciPy existente em plataformas 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 também fornece acesso a recursos CUDA de baixo nível. Você pode passar ndarray
para programas CUDA C/C++ existentes por meio de RawKernels, usar Streams para desempenho ou até mesmo chamar APIs CUDA Runtime diretamente.
Pacotes binários (rodas) estão disponíveis para Linux e Windows no PyPI. Escolha o pacote certo para sua plataforma.
Plataforma | Arquitetura | Comando |
---|---|---|
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 |
Observação
Para instalar pré-lançamentos, acrescente --pre -U -f https://pip.cupy.dev/pre
(por exemplo, pip install cupy-cuda11x --pre -U -f https://pip.cupy.dev/pre
).
Pacotes binários também estão disponíveis para Linux e Windows no Conda-Forge.
Plataforma | Arquitetura | Comando |
---|---|---|
CUDA | x86_64/aarch64/ppc64le | conda install -c conda-forge cupy |
Se você precisar de uma instalação simples (sem também instalar as dependências CUDA), você pode fazer conda install -c conda-forge cupy-core
.
Se você precisar usar uma versão específica do CUDA (digamos 12.0), poderá usar o metapacote cuda-version
para selecionar a versão, por exemplo, conda install -c conda-forge cupy cuda-version=12.0
.
Observação
Se você encontrar qualquer problema com o CuPy instalado a partir do conda-forge
, sinta-se à vontade para reportar ao cupy-feedstock e nós ajudaremos a investigar se é apenas um problema de embalagem na receita do conda-forge
ou um problema real no CuPy.
Use o NVIDIA Container Toolkit para executar imagens de contêiner CuPy.
$ docker run --gpus all -it cupy/cupy
Licença MIT (ver arquivo LICENSE
).
CuPy é projetado com base na API do NumPy e na API do SciPy (consulte o arquivo docs/source/license.rst
).
CuPy está sendo desenvolvido e mantido pela Preferred Networks e colaboradores da comunidade.
Ryosuke Okuta, Yuya Unno, Daisuke Nishino, Shohei Hido e Crissman Loomis. CuPy: uma biblioteca compatível com NumPy para cálculos de GPU NVIDIA. Anais do Workshop sobre Sistemas de Aprendizado de Máquina (LearningSys) na Trigésima Primeira Conferência Anual sobre Sistemas de Processamento de Informação Neural (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 agora faz parte do CuPy a partir da versão 13.0.0. ↩