# CuPy **Repository Path**: powerlin888/CuPy ## Basic Information - **Project Name**: CuPy - **Description**: CuPy是基于CUDA实现与NumPy兼容的多维数组的实现 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: https://www.oschina.net/p/cupy - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-08-07 - **Last Updated**: 2023-08-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# CuPy : NumPy & SciPy for GPU [![pypi](https://img.shields.io/pypi/v/cupy)](https://pypi.python.org/pypi/cupy) [![Conda](https://img.shields.io/conda/vn/conda-forge/cupy)](https://anaconda.org/conda-forge/cupy) [![GitHub license](https://img.shields.io/github/license/cupy/cupy)](https://github.com/cupy/cupy) [![Gitter](https://badges.gitter.im/cupy/community.svg)](https://gitter.im/cupy/community) [![Twitter](https://img.shields.io/twitter/follow/CuPy_Team?label=%40CuPy_Team)](https://twitter.com/CuPy_Team) [**Website**](https://cupy.dev/) | [**Install**](https://docs.cupy.dev/en/stable/install.html) | [**Tutorial**](https://docs.cupy.dev/en/stable/user_guide/basic.html) | [**Examples**](https://github.com/cupy/cupy/tree/main/examples) | [**Documentation**](https://docs.cupy.dev/en/stable/) | [**API Reference**](https://docs.cupy.dev/en/stable/reference/) | [**Forum**](https://groups.google.com/forum/#!forum/cupy) CuPy is a NumPy/SciPy-compatible array library for GPU-accelerated computing with Python. CuPy acts as a [drop-in replacement](https://docs.cupy.dev/en/stable/reference/comparison.html) to run existing NumPy/SciPy code on NVIDIA CUDA or AMD ROCm platforms. ```py >>> 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 also provides access to low-level CUDA features. You can pass `ndarray` to existing CUDA C/C++ programs via [RawKernels](https://docs.cupy.dev/en/stable/user_guide/kernel.html#raw-kernels), use [Streams](https://docs.cupy.dev/en/stable/reference/cuda.html) for performance, or even call [CUDA Runtime APIs](https://docs.cupy.dev/en/stable/reference/cuda.html#runtime-api) directly. ## Installation ### Pip Binary packages (wheels) are available for Linux and Windows on [PyPI](https://pypi.org/org/cupy/). Choose the right package for your platform. | Platform | Architecture | Command | | --------------------- | ----------------- | ------------------------------------------------------------- | | CUDA 10.2 | x86_64 / aarch64 | `pip install cupy-cuda102` | | CUDA 11.0 | x86_64 | `pip install cupy-cuda110` | | CUDA 11.1 | x86_64 | `pip install cupy-cuda111` | | CUDA 11.2 ~ 11.8 | x86_64 / aarch64 | `pip install cupy-cuda11x` | | CUDA 12.x | x86_64 / aarch64 | `pip install cupy-cuda12x` | | ROCm 4.3 (*[experimental](https://docs.cupy.dev/en/latest/install.html#using-cupy-on-amd-gpu-experimental)*) | x86_64 | `pip install cupy-rocm-4-3` | | ROCm 5.0 (*[experimental](https://docs.cupy.dev/en/latest/install.html#using-cupy-on-amd-gpu-experimental)*) | x86_64 | `pip install cupy-rocm-5-0` | > [!NOTE]\ > To install pre-releases, append `--pre -f https://pip.cupy.dev/pre` (e.g., `pip install cupy-cuda11x --pre -f https://pip.cupy.dev/pre`). ### Conda Binary packages are also available for Linux and Windows on [Conda-Forge](https://anaconda.org/conda-forge/cupy). | Platform | Architecture | Command | | --------------------- | --------------------------- | ------------------------------------------------------------- | | CUDA | x86_64 / aarch64 / ppc64le | `conda install -c conda-forge cupy` | If you need to use a particular CUDA version (say 11.8), you can do `conda install -c conda-forge cupy cuda-version=11.8`. > [!NOTE]\ > If you encounter any problem with CuPy installed from `conda-forge`, please feel free to report to [cupy-feedstock](https://github.com/conda-forge/cupy-feedstock/issues), and we will help investigate if it is just a packaging issue in `conda-forge`'s recipe or a real issue in CuPy. ### Docker Use [NVIDIA Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/overview.html) to run [CuPy container images](https://hub.docker.com/r/cupy/cupy). ``` $ docker run --gpus all -it cupy/cupy ``` ## Resources - [Installation Guide](https://docs.cupy.dev/en/stable/install.html) - instructions on building from source - [Release Notes](https://github.com/cupy/cupy/releases) - [Projects using CuPy](https://github.com/cupy/cupy/wiki/Projects-using-CuPy) - [Contribution Guide](https://docs.cupy.dev/en/stable/contribution.html) ## License MIT License (see `LICENSE` file). CuPy is designed based on NumPy's API and SciPy's API (see `docs/LICENSE_THIRD_PARTY` file). CuPy is being developed and maintained by [Preferred Networks](https://www.preferred.jp/en/) and [community contributors](https://github.com/cupy/cupy/graphs/contributors). ## 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). [[PDF](http://learningsys.org/nips17/assets/papers/paper_16.pdf)] ```bibtex @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" } ```