Overview
Warp is a Python-first framework designed by NVIDIA to write high-performance simulation and graphics kernels. It takes ordinary Python functions and JIT-compiles them into efficient CPU or CUDA GPU kernels, enabling fast execution for physics simulation, geometry processing, perception, robotics and other spatial-computing tasks. A key feature is that Warp kernels are differentiable, allowing them to be embedded within machine-learning pipelines (for example with PyTorch or JAX) for end-to-end optimization and learning.
Key Features
- JIT compilation of Python functions to efficient CPU/GPU kernels.
- Differentiable kernels suitable for optimization and integration with ML frameworks (PyTorch, JAX, etc.).
- Rich primitives for physics simulation, meshes, volumes, raycasting, NVDB and more.
- Cross-platform support: Linux, Windows, macOS; architectures: x86-64 and ARMv8.
- Pre-built binaries on PyPI (warp-lang) and additional builds on GitHub Releases; nightly packages available on NVIDIA's package index.
- Extensive examples and tutorial notebooks covering core concepts, PyTorch integration, FEM, optimization, and tile-based demos.
- Open-source under the Apache 2.0 license.
Typical Use Cases
- Fast differentiable simulation for robotics and control tasks.
- Physics-based data generation for perception and machine learning.
- Geometry processing, mesh and volume computations, raymarching and rendering-related computations.
- Custom GPU-accelerated operators integrated with ML training or optimization loops.
Installation & Requirements
- Recommended Python 3.9 or newer.
- CPU-only usage works without CUDA; GPU support requires a CUDA-capable NVIDIA GPU and appropriate drivers.
- Official PyPI package:
pip install warp-lang(pre-built binaries are provided; specific CUDA runtime variants are available via GitHub Releases). - Binaries are built against specific CUDA runtimes (e.g., CUDA 12/13); matching NVIDIA driver versions are required for GPU support.
Developer & Build Notes
- The repository includes example scripts and tutorial notebooks; many examples produce USD files for visualization.
- Developers can build from source; requirements include a supported compiler (MSVC/GCC), CUDA toolkit, and Git LFS.
- The project provides a contribution guide and lists publications that use Warp.
Integration & Ecosystem
- Designed to interoperate with PyTorch, JAX and other ML frameworks for differentiable computation.
- Used in research and demos (courses and conference material such as SIGGRAPH/GTC are referenced in the project docs).
License & Support
- Licensed under Apache License 2.0.
- Issues, feature requests and support are handled via the GitHub repository; alternative contact email is provided in the docs for inquiries unsuited to issues.
(For API details, tutorials, CHANGELOG and full documentation, see the official docs: https://nvidia.github.io/warp/.)
