kb/data/en.wikipedia.org/wiki/CuPy-0.md

108 lines
2.7 KiB
Markdown

---
title: "CuPy"
chunk: 1/1
source: "https://en.wikipedia.org/wiki/CuPy"
category: "reference"
tags: "science, encyclopedia"
date_saved: "2026-05-05T10:11:01.714180+00:00"
instance: "kb-cron"
---
CuPy is an open source library for GPU-accelerated computing with Python programming language, providing support for multi-dimensional arrays, sparse matrices, and a variety of numerical algorithms implemented on top of them.
CuPy shares the same API set as NumPy and SciPy, allowing it to be a drop-in replacement to run NumPy/SciPy code on GPU. CuPy supports Nvidia CUDA GPU platform, and AMD ROCm GPU platform starting in v9.0.
CuPy has been initially developed as a backend of Chainer deep learning framework, and later established as an independent project in 2017.
CuPy is a part of the NumPy ecosystem array libraries and is widely adopted to utilize GPU with Python, especially in high-performance computing environments such as Summit, Perlmutter, EULER, and ABCI.
CuPy is a NumFOCUS sponsored project.
== Features ==
CuPy implements NumPy/SciPy-compatible APIs, as well as features to write user-defined GPU kernels or access low-level APIs.
=== NumPy-compatible APIs ===
The same set of APIs defined in the NumPy package (numpy.*) are available under cupy.* package.
Multi-dimensional array (cupy.ndarray) for boolean, integer, float, and complex data types
Module-level functions
Linear algebra functions
Fast Fourier transform
Random number generator
=== SciPy-compatible APIs ===
The same set of APIs defined in the SciPy package (scipy.*) are available under cupyx.scipy.* package.
Sparse matrices (cupyx.scipy.sparse.*_matrix) of CSR, COO, CSC, and DIA format
Discrete Fourier transform
Advanced linear algebra
Multidimensional image processing
Sparse linear algebra
Special functions
Signal processing
Statistical functions
=== User-defined GPU kernels ===
Kernel templates for element-wise and reduction operations
Raw kernel (CUDA C/C++)
Just-in-time transpiler (JIT)
Kernel fusion
=== Distributed computing ===
Distributed communication package (cupyx.distributed), providing collective and peer-to-peer primitives
=== Low-level CUDA features ===
Stream and event
Memory pool
Profiler
Host API binding
CUDA Python support
=== Interoperability ===
DLPack
CUDA Array Interface
NEP 13 (__array_ufunc__)
NEP 18 (__array_function__)
Array API Standard
== Examples ==
=== Array creation ===
=== Basic operations ===
=== Raw CUDA C/C++ kernel ===
== Applications ==
spaCy
XGBoost
turboSETI (Berkeley SETI)
NVIDIA RAPIDS
einops
scikit-learn
MONAI
Chainer
== See also ==
Array programming
List of numerical-analysis software
List of open-source mathematical libraries
Dask
== References ==
== External links ==
Official website
cupy on GitHub