cupy: Run NumPy and SciPy Workloads on GPUs

Summary
CuPy is a Python array library that brings NumPy- and SciPy-compatible computing to NVIDIA CUDA and AMD ROCm GPUs. It suits Python users who want GPU acceleration while reusing familiar APIs, or who need lower-level GPU controls.
At a glance
- Language
- Python
- License
- MIT
- Stars
- 12.4k
- Forks
- 1.1k
- Added to OSRepos
- December 29, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
CuPy provides GPU-backed arrays and operations through APIs designed to be compatible with NumPy and SciPy. It helps Python developers accelerate existing numerical workloads with fewer changes than a full rewrite, while still allowing GPU-specific programming when needed.
It is a fit for scientific computing, data processing, and other workloads that can benefit from GPU execution. CuPy targets NVIDIA CUDA and AMD ROCm platforms, so using it requires a supported GPU environment and an appropriate package.
Key Features
- NumPy- and SciPy-compatible array computing on GPUs.
- Supports NVIDIA CUDA and AMD ROCm platforms.
- Provides GPU array operations, including reshaping and reductions.
- Exposes lower-level GPU programming through RawKernels.
- Supports GPU streams and direct CUDA Runtime API access.
- Offers installation options through pip, Conda, and Docker.
Use Cases
- Python data scientists can move suitable NumPy-based numerical workflows to a GPU while retaining familiar array APIs.
- Scientific computing teams can accelerate array-heavy calculations when supported CUDA or ROCm hardware is available.
- Developers building custom GPU operations can use RawKernels and pass CuPy arrays to CUDA C/C++ programs.
- Users working with signal-processing workloads can use CuPy, which includes cuSignal starting with version 13.0.0.
Project Facts
- Language: Python
- License: MIT
- Stars: 12.4k
- Forks: 1.1k
- Topics: cublas, cuda, cudnn, cupy, curand, cusolver, cusparse, cusparselt, cutensor, gpu, nccl, numpy, nvrtc, nvtx, python, rocm, scipy, tensor
- Archived: No
Getting Started
For a Linux or Windows system with CUDA 12.x, install the corresponding package:
pip install cupy-cuda12x
Choose a package that matches your platform and CUDA or ROCm setup. See the installation guide and README for details.
Considerations
- CuPy is intended for GPU computing, so a compatible GPU and runtime environment are needed to benefit from it.
- The pip package must match the platform and GPU software stack. The README lists separate CUDA package choices and identifies ROCm 7.0 support as experimental.
- NumPy/SciPy compatibility does not mean every workload or API will run unchanged. Check the compatibility documentation when porting code.
- The repository is MIT-licensed and is not archived.
Comparisons
Source repository
Open the original repository on GitHub.
18 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

agentevals: Evaluate AI Agents from OpenTelemetry Traces
October 4, 2026
agentevals scores AI agent behavior from existing OpenTelemetry traces, without rerunning agents or making extra model calls. It suits teams building instrumented agents that need local evaluation, golden-set checks, or CI quality gates.

web-design: Create Consistent Web Pages with a Claude Code Skill
October 3, 2026
web-design is a Claude Code skill that turns product briefs, reference URLs, or screenshots into an editable design specification before generating web code. It is suited to developers and designers who want a repeatable, spec-led workflow for building consistent pages.

oomwoo: Build a DIY Robot Vacuum
October 2, 2026
OOMWOO is a planned, hackable robot vacuum built around Raspberry Pi, ROS2 and 2D LiDAR. It is aimed at makers who want to build and customize a locally controlled vacuum, but its hardware and build instructions are still in development.

shepherd: Supervise Agents with Reversible Execution Traces
October 2, 2026
Shepherd records agent work as inspectable, reversible execution traces and keeps changes as proposals for review. It is aimed at developers building systems that supervise, replay, or manage the work of other agents.