2.7 KiB
| title | chunk | source | category | tags | date_saved | instance |
|---|---|---|---|---|---|---|
| CuPy | 1/1 | https://en.wikipedia.org/wiki/CuPy | reference | science, encyclopedia | 2026-05-05T10:11:01.714180+00:00 | 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