warp-lang
A Python framework for high-performance simulation and graphics programming
What it is and what it does
Warp is a Python framework that takes regular Python functions decorated with @wp.kernel and JIT-compiles them to efficient GPU or CPU code. It bridges the gap between Python's ease of use and the performance demands of simulation, robotics, and machine learning by letting you write kernels in Python syntax while executing them at near-native speed on NVIDIA GPUs or CPUs. The framework includes built-in primitives for physics, geometry, and differentiable operations, and kernels can be integrated into PyTorch, JAX, and Paddle pipelines for end-to-end learning.
Warp handles the complexity of CUDA kernel generation, memory management, and differentiation automatically. You write Python functions, Warp compiles them, and you launch them with wp.launch() specifying the number of threads. It supports both CPU and GPU execution, making it suitable for prototyping on CPU and scaling to GPU without code changes. The framework is production-ready and actively maintained, with support for modern Python versions.
Use it for:
- Simulate large-scale particle systems by writing physics kernels in Python and running them on GPU.
- Build differentiable physics simulators for inverse problems and machine learning by composing Warp kernels with PyTorch or JAX.
- Accelerate geometry processing tasks without writing native CUDA code.
- Prototype CPU-based simulations and deploy them to GPU with minimal code changes.
- Implement robotics control loops and spatial computations that require both performance and ease of iteration.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Warp is a Python framework that JIT-compiles regular Python functions to GPU or CPU kernel code for physics simulation, robotics, geometry processing, and differentiable machine learning workloads.
Yes, if you need GPU-accelerated simulation or geometry processing in Python and want to avoid writing native CUDA. The framework is production-stable, actively maintained, has no known vulnerabilities, and integrates well with ML frameworks. Install friction is moderate due to platform-specific wheels and CUDA requirements, but pre-built wheels eliminate compilation overhead. Not suitable if you lack GPU hardware or need CPU-only performance without GPU fallback.
Install
warp-lang on PyPI
pip
pip install warp-languv
uv add warp-langpoetry
poetry add warp-langInstalling warp-lang
Before you install
Medium install friction due to platform-specific wheels (macOS ARM64, Linux x86-64 and aarch64, Windows x64) and CUDA driver requirements for GPU support. Actively maintained with recent releases; no compilation needed for pre-built wheels.
License in practice
Apache-2.0 permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install warp-lang
import warp as wp
import numpy as np
@wp.kernel
def example(arr: wp.array):
i = wp.tid()
arr[i] = arr[i] * 2.0
data = wp.array(np.array([1.0, 2.0, 3.0]))
wp.launch(example, dim=3, inputs=[data])
print(data.numpy())
Python 3.10 or newer required; GPU support requires CUDA-capable NVIDIA GPU (minimum GeForce GTX 9xx) and compatible driver.
Verify before relying
- Performance characteristics and speedup factors compared to pure NumPy or native CUDA for typical workloads.
- Memory overhead of JIT compilation and kernel caching during runtime.
- Compatibility with specific PyTorch, JAX, and Paddle versions beyond basic integration claims.
Package facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 11 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 981,443/month — #4,587 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: warp_lang-1.16.0-py3-none-macosx_11_0_arm64.whl; warp_lang-1.16.0-py3-none-manylinux_2_28_x86_64.whl; warp_lang-1.16.0-py3-none-manylinux_2_34_aarch64.whl; warp_lang-1.16.0-py3-none-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
mujoco-warpGPU-accelerated physics simulation for robotics…
permissive · top 15,000 on PyPI
newtonNewton is a GPU-accelerated physics simulation…
permissive · top 15,000 on PyPI
quadrantsQuadrants is a high-performance compiler that…
permissive · top 15,000 on PyPI
cuda-pythoncuda-python is a metapackage providing Pythonic…
unclear · top 5,000 on PyPI
mjlabmjlab provides a GPU-accelerated reinforcement…
permissive · top 15,000 on PyPI
nvidia-nvjitlink-cu12Provides NVIDIA's JIT LTO compiler library for…
unclear · top 1,000 on PyPI
newton-actuatorsProvides GPU-accelerated actuator…
permissive · top 15,000 on PyPI
nvidia-cuda-nvrtcProvides NVIDIA CUDA NVRTC (NVIDIA Runtime…
unclear · top 1,000 on PyPI
torchPyTorch provides GPU-accelerated tensor…
permissive · top 1,000 on PyPI
simpySimPy is a process-based discrete-event…
permissive · top 15,000 on PyPI