cupy: Run NumPy and SciPy Workloads on GPUs

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
View on GitHub

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

View on GitHub

Related repositories

Similar repositories that may be relevant next.

OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️