A GPU-accelerated physics simulation engine built on NVIDIA Warp, aimed at roboticists and simulation researchers.
NVIDIA/warp
A Python framework that JIT-compiles regular Python functions into kernels running on CPU or NVIDIA GPU, for simulation, robotics, and ML.
- Stars
- 7,279
- Forks
- 683
- Open issues
- 390
- Last commit
- 17 hours ago
What is it?
Warp takes ordinary Python functions and JIT compiles them into efficient kernel code that runs on the CPU or GPU. It targets GPU-accelerated simulation, robotics, geometry processing and machine learning, and ships with primitives for physics and geometry work.
Warp kernels are differentiable, so they can be used inside machine-learning pipelines alongside PyTorch, JAX and Paddle. The package is distributed as the warp-lang wheel on PyPI, with CUDA acceleration on Windows and Linux x86-64; macOS wheels run on CPU only.
The repository includes a large set of examples covering physics simulation, finite element methods, differentiable optimization and tile-based GPU programming, along with tutorial notebooks that can be opened in Colab.
Key features
- 01Compiles regular Python functions into kernels that run on CPU or CUDA GPU.
- 02Kernels are differentiable and integrate with PyTorch, JAX and Paddle.
- 03Includes primitives for physics simulation, geometry processing and robotics.
- 04Installable from PyPI as warp-lang with optional example dependencies.
- 05Ships with examples and tutorial notebooks covering simulation and optimization.
Use cases
- Running large particle or fluid simulations on NVIDIA GPUs from Python.
- Building differentiable simulators that feed gradients into a PyTorch or JAX training loop.
- Doing geometry processing such as mesh raycasting or isosurface extraction in Python.
- Prototyping GPU kernels without writing CUDA C++ by hand.
Quick start
- 1
Install Warp from PyPI
pip install warp-lang - 2
Run the gravity simulation example from the Quick Start code (save it as a Python file and run it)
Things to know
- Linux and Windows CUDA acceleration needs an NVIDIA GPU of Turing (sm_75) or newer and a recent NVIDIA driver.
- The macOS wheels run on CPU only and do not support Metal acceleration.
- CUDA 12 environments need a separate +cu12 wheel or a source build.
In collections
Topics
FAQ
- What is warp?
- A Python framework that JIT-compiles regular Python functions into kernels running on CPU or NVIDIA GPU, for simulation, robotics, and ML. Warp takes ordinary Python functions and JIT compiles them into efficient kernel code that runs on the CPU or GPU. It targets GPU-accelerated simulation, robotics, geometry processing and machine learning, and ships with primitives for physics and geometry work.
- Is warp free to use? What license does it have?
- warp is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is warp still maintained?
- Actively maintained. The last commit to warp was on Nov 6, 2026.
- What can I use warp for?
- Running large particle or fluid simulations on NVIDIA GPUs from Python. Building differentiable simulators that feed gradients into a PyTorch or JAX training loop. Doing geometry processing such as mesh raycasting or isosurface extraction in Python. Prototyping GPU kernels without writing CUDA C++ by hand.
- How do I install warp?
- Install Warp from PyPI: pip install warp-lang Run the gravity simulation example from the Quick Start code (save it as a Python file and run it)
- Where can I get warp?
- The source code and installation instructions are on GitHub: https://github.com/NVIDIA/warp
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
GPU-accelerated version of the MuJoCo physics simulator, built on NVIDIA Warp for high-throughput robotics simulation.
A JAX-based rigid-body physics engine that runs massively parallel, differentiable simulation on accelerators for robotics and RL research.
A JAX-based quadrotor simulator that runs batched, differentiable drone simulations on CPU and GPU for Crazyflie 2.x drones.
NVIDIA's open-source components of TensorRT, a SDK for high-performance deep learning inference on NVIDIA GPUs, including plugins, the ONNX parser and samples.
Open-source C++ multibody dynamics library for simulating articulated systems such as robots, vehicles, and human skeletons.