CuPy : NumPy-like API accelerated with CUDA
Website | Docs | Install Guide | Tutorial | Examples (Official) | Forum (en, ja)
CuPy is an implementation of NumPy-compatible multi-dimensional array on CUDA.
CuPy consists of the core multi-dimensional array class, cupy.ndarray
, and many functions on it.
It supports a subset of numpy.ndarray
interface.
Installation
For detailed instructions on installing CuPy, see the installation guide.
You can install CuPy using pip
:
(Binary Package for CUDA 8.0)
$ pip install cupy-cuda80
(Binary Package for CUDA 9.0)
$ pip install cupy-cuda90
(Binary Package for CUDA 9.1)
$ pip install cupy-cuda91
(Binary Package for CUDA 9.2)
$ pip install cupy-cuda92
(Source Package)
$ pip install cupy
The latest version of cuDNN and NCCL libraries are included in binary packages (wheels). For the source package, you will need to install cuDNN/NCCL before installing CuPy, if you want to use it.
Run with Docker
We provide the official Docker image. Use nvidia-docker command to run CuPy image with GPU. You can login to the environment with bash, and run the Python interpreter.
$ nvidia-docker run -it cupy/cupy /bin/bash
Development
Please see the contribution guide.
More information
License
MIT License (see LICENSE
file).
CuPy is designed based on NumPy's API and SciPy's API (see docs/LICENSE_THIRD_PARTY
file).
Reference
Ryosuke Okuta, Yuya Unno, Daisuke Nishino, Shohei Hido and Crissman Loomis. CuPy: A NumPy-Compatible Library for NVIDIA GPU Calculations. Proceedings of Workshop on Machine Learning Systems (LearningSys) in The Thirty-first Annual Conference on Neural Information Processing Systems (NIPS), (2017). URL
@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"
}