AIAny
AI Infra2016
Icon for item

CuPy

Provides a NumPy/SciPy-compatible GPU array library for Python, enabling existing NumPy/SciPy numerical code to run on NVIDIA CUDA and AMD ROCm with minimal changes. Exposes low-level CUDA features (RawKernels, Streams) and offers prebuilt binaries for multiple CUDA/ROCm versions.

Introduction

GPUs are the default execution target for many modern ML and scientific workloads, but porting established NumPy/SciPy code to run efficiently on GPU often requires substantial rewrites. CuPy's central insight is pragmatic compatibility: let most existing numerical Python code keep using the same API while executing on the GPU, and provide escape hatches when you need fine-grained control.

What Sets It Apart
  • NumPy/SciPy API compatibility — you can reuse array code, indexing, ufuncs and many SciPy routines with minimal edits, which reduces porting risk and accelerates iterations.
  • Low-level GPU access when needed — RawKernels, Streams and direct CUDA Runtime API bindings mean you can drop into custom CUDA C/C++ kernels or tune concurrency for hotspots without leaving the CuPy ecosystem.
  • Multi-platform binary packaging and ecosystem integration — prebuilt wheels for common CUDA versions (and experimental ROCm support), Docker images and active ties to CUDA libraries let teams deploy GPU-accelerated workloads faster than rebuilding from source.
  • Practical engineering tradeoffs — the project prioritizes pragmatic coverage of the NumPy/SciPy surface and interop rather than reimplementing every niche SciPy routine; signal-processing functionality (cuSignal) was merged into the project from v13 onward.
Who It's For & Tradeoffs

Great fit if you need to accelerate existing numeric or scientific Python code on a single GPU (or small GPU fleet), want a familiar NumPy-like API during migration, or require direct CUDA interop for custom kernels and performance tuning. Look elsewhere if you need a full deep-learning training framework with built-in autodiff and high-level training primitives (use PyTorch/TF/JAX for that), if your deployment environment lacks compatible GPU drivers, or if you require fully mature ROCm parity (ROCm support is marked experimental in some releases). CuPy reduces porting cost but does not remove all engineering work: GPU memory management, kernel tuning and some SciPy submodules still need manual attention.

Information

  • Websitegithub.com
  • OrganizationsPreferred Networks
  • AuthorsRyosuke Okuta, Yuya Unno, Daisuke Nishino, Shohei Hido, Crissman Loomis
  • Published date2016/11/01

Categories

More Items

GitHub
AI Infra2026

Compresses tool outputs, logs, files and RAG chunks locally before they reach the LLM to reduce token usage while caching originals for on-demand retrieval. Provides proxy/library/wrap modes, JSON- and code-aware compressors, and reversible compression.

GitHub
AI Infra2026

Provides a self‑hosted OpenAI‑compatible gateway that exposes one API endpoint to route requests to 40+ model providers, issue revocable virtual keys, enforce budgets before spend, and record usage.

GitHub
AI Coding2023

A statically typed, parallel programming language that prevents AI-introduced bugs by making correctness claims (laws) require machine-checked proofs. Compiles to native code and targets CPU/GPU parallelism with a fast proof checker.