NVIDIA Warp Documentation#
Warp is a Python framework for GPU-accelerated simulation, robotics, and machine learning. Warp takes regular Python functions and JIT compiles them to efficient kernel code that can run on the CPU or GPU.
Warp comes with a rich set of primitives for physics simulation, robotics, geometry processing, and more. Warp kernels are differentiable and can be used as part of machine-learning pipelines with frameworks such as PyTorch, JAX and Paddle.
Quickstart#
Install Warp from PyPI:
$ pip install warp-lang
For conda, nightly builds, CUDA 13 builds, building from source, and driver requirements, see Installation.
Example Gallery#
The warp/examples directory
contains examples covering physics simulation, geometry processing, optimization, and
tile-based GPU programming. Install the optional dependencies with
pip install warp-lang[examples] and run them from the command line:
python -m warp.examples.<example_subdir>.<example>
warp/examples/core#
warp/examples/fem#
warp/examples/optim#
warp/examples/tile#
User Guide
- Installation
- Basics
- Runtime
- Devices
- Differentiability
- Generics
- Tiles
- Interoperability
- Configuration
- Debugging
- Limitations
- Contribution Guide
- Publications using Warp
- Compatibility & Support
- FAQ
- How does Warp relate to other Python projects for GPU programming, e.g.: Numba, Taichi, cuPy, PyTorch, etc.?
- What are some examples of projects that use Warp?
- Does Warp support all of the Python language?
- When should I call
wp.synchronize()? - What happens when you differentiate a function like
wp.abs(x)? - Does Warp support multi-GPU programming?
- Should I switch to Warp over IsaacGym/PhysX?
- Why aren’t assignments to Warp arrays supported outside of kernels?
- How can I contact the Warp team directly?
- Changelog
Deep Dive
Domain Modules
API Reference
Language Reference