Repolode
NVIDIA

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. 1

    Install Warp from PyPI

    pip install warp-lang
  2. 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