Overview
Warp lets developers write parallel kernels in a Python-based language and just-in-time compile them for CPUs or supported NVIDIA GPUs. It provides vector and matrix types, geometry operations and simulation components, with differentiable computation that can participate in PyTorch or JAX workflows. A practical starting point is to isolate one measurable particle, geometry or optimization operation and compare correctness and performance.
Key features
- Just-in-time compilation of Python kernels.
- Supports CPU and CUDA execution devices.
- Provides vector, matrix and geometry primitives.
- Supports differentiable kernels and machine-learning integration.
- Includes physics, geometry, optimization and finite-element examples.
- Includes an example browser and USD animation output in some examples.
Requirements, installation and quick start
2. Install pip install warp-lang; the package name is warp-lang.
3. Install pip install "warp-lang[examples]" for example dependencies.
4. Run python -m warp.examples.browse to explore examples.
5. Follow the README to define @wp.kernel functions, allocate wp.array data and launch work with wp.launch.
6. Validate numerical results on a small input before scaling the workload and measuring performance.
Usage
Implementation notes
Separate compilation and warm-up time from steady-state measurements. Host-device transfers also cost time and can dominate small workloads. Arbitrary Python code is not automatically a valid Warp kernel; follow the supported type and compilation rules.
Model compatibility and use cases
Published wheels cover Windows x86-64, Linux x86-64/AArch64 and Apple Silicon macOS. CUDA acceleration on Windows and Linux needs a compatible NVIDIA GPU and driver. macOS wheels support CPU execution, not Metal acceleration.
License and risk notes
Warp uses Apache-2.0. Some build dependencies and bundled components have separate terms listed in the repository’s licenses directory.