Skip to main content

PyPI version License GitHub commit activity Downloads codecov GitHub - CI

NVIDIA Warp

Documentation | Changelog

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.

A selection of physical simulations computed with Warp

Quick Start

Simulate one million particles under gravitational attraction, in 20 lines:

import warp as wp
import numpy as np

num_particles = 1_000_000
dt = 0.01

@wp.kernel
def gravity_step(pos: wp.array[wp.vec3], vel: wp.array[wp.vec3]):
    i = wp.tid()
    position = pos[i]
    dist_sq = wp.length_sq(position) + 0.01  # softened distance
    acc = -1000.0 / dist_sq * wp.normalize(position)  # gravitational pull toward origin
    vel[i] = vel[i] + acc * dt
    pos[i] = pos[i] + vel[i] * dt

rng = np.random.default_rng(42)
positions = wp.array(rng.normal(size=(num_particles, 3)), dtype=wp.vec3)
velocities = wp.array(rng.normal(size=(num_particles, 3)), dtype=wp.vec3)

for _ in range(100):
    wp.launch(gravity_step, dim=num_particles, inputs=[positions, velocities])

print(positions.numpy())

Installing

Warp requires Python 3.10 or newer. We publish warp-lang wheels on PyPI for Windows (x86-64), Linux (x86-64 and AArch64), and macOS (Apple Silicon). The Windows x86-64 and Linux wheels support CPU execution and CUDA acceleration. CUDA acceleration requires a supported NVIDIA GPU and driver. The macOS wheels support CPU execution but not Metal acceleration.

The easiest way to install Warp is from PyPI:

pip install warp-lang

You can also use pip install warp-lang[examples] to install additional dependencies for running examples and USD-related features.

For nightly builds, conda, CUDA 13 builds, building from source, and CUDA driver requirements, see the Installation Guide.

Tutorial Notebooks

The NVIDIA Accelerated Computing Hub also hosts Warp tutorial notebooks that can be opened in Colab:

Notebook Colab Link
01. Introduction to NVIDIA Warp Open In Colab
02. Ising Model Open In Colab
03. 2D Navier-Stokes Solver Open In Colab
04. Differentiable Simulations in Warp Open In Colab

Running Examples

The warp/examples directory contains examples covering physics simulation, geometry processing, optimization, and tile-based GPU programming. Before running examples, install the optional example dependencies using:

pip install warp-lang[examples]

On Linux aarch64 systems (e.g., NVIDIA DGX Spark), the [examples] extra automatically installs usd-exchange instead of usd-core as a drop-in replacement, since usd-core wheels are not available for that platform.

Examples can be run from the command-line as follows:

python -m warp.examples.<example_subdir>.<example>

Most examples can be run on either the CPU or a CUDA-capable device, but a handful require a CUDA-capable device. These are marked at the top of the example script. Some examples generate USD files containing time-sampled animations in the current working directory. These can be viewed in Pixar's UsdView, Blender, or any USD-compatible viewer.

To browse the example source code, you can open the directory where the files are located like this:

python -m warp.examples.browse

warp/examples/core

dem fluid graph capture marching cubes
mesh nvdb raycast raymarch
sample mesh sph torch wave
2-D incompressible turbulence in a periodic box 3-D FDTD Luneburg lens

warp/examples/fem

diffusion 3d mixed elasticity apic fluid streamlines
distortion energy taylor green kelvin helmholtz magnetostatics
adaptive grid nonconforming contact darcy level-set optimization elastic shape optimization

warp/examples/optim

diffray fluid checkpoint particle repulsion navier-stokes perturbation

warp/examples/tile

mlp nbody mcgp

Learn More

Please see the following resources for additional background on Warp:

Support

See the FAQ for common questions.

Problems, questions, and feature requests can be opened on GitHub Issues.

For inquiries not suited for GitHub Issues, please email warp-python@nvidia.com.

Contributing

Contributions and pull requests from the community are welcome. Please see the Contribution Guide for more information on contributing to the development of Warp.

License

Warp is provided under the Apache License, Version 2.0. Please see LICENSE.md for full license text.

This project will download and install additional third-party open source software projects. Review the license terms of these open source projects before use.

Building from Source

When building Warp from source using the build_lib.py script, the build process automatically downloads NVIDIA libmathdx. Pre-built Warp packages (e.g., from PyPI) already include libmathdx statically linked into the library binaries. In both cases, libmathdx is governed by the NVIDIA Software License Agreement.

NOTICE AND DISCLAIMER: This software automatically retrieves, accesses or interacts with external materials. Those retrieved materials are not distributed with this software and are governed solely by separate terms, conditions and licenses. You are solely responsible for finding, reviewing and complying with all applicable terms, conditions, and licenses, and for verifying the security, integrity and suitability of any retrieved materials for your specific use case. This software is provided "AS IS", without warranty of any kind. The author makes no representations or warranties regarding any retrieved materials, and assumes no liability for any losses, damages, liabilities or legal consequences from your use or inability to use this software or any retrieved materials. Use this software and the retrieved materials at your own risk.

Publications & Citation

Research Using Warp

Our PUBLICATIONS.md file lists academic and research publications that leverage the capabilities of Warp. We encourage you to add your own published work using Warp to this list.

Citing Warp

If you use Warp in your research, please use the "Cite this repository" button on the GitHub repository page or refer to the CITATION.cff file for citation information.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

warp_lang-1.17.0-py3-none-win_amd64.whl (151.2 MB view details)

Uploaded Python 3Windows x86-64

warp_lang-1.17.0-py3-none-manylinux_2_34_aarch64.whl (172.7 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ ARM64

warp_lang-1.17.0-py3-none-manylinux_2_28_x86_64.whl (164.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

warp_lang-1.17.0-py3-none-macosx_11_0_arm64.whl (27.5 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

File details

Details for the file warp_lang-1.17.0-py3-none-win_amd64.whl.

File metadata

  • Download URL: warp_lang-1.17.0-py3-none-win_amd64.whl
  • Upload date:
  • Size: 151.2 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for warp_lang-1.17.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 ca35c82242a7553046f09023bbe56750b5c3d9af72625bd1a905a56d3189771d
MD5 53c3a83cb7e6fecc7b1aa8b72188651c
BLAKE2b-256 ff7a36306a503085cbfc79c35a28e441c59dd1d8070d2dd65152345ebf2dfec2

See more details on using hashes here.

File details

Details for the file warp_lang-1.17.0-py3-none-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for warp_lang-1.17.0-py3-none-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 5051271048da956a8b94e2db9771ce60ce9591a3ac5bb49037f3d6812d1eea00
MD5 b42b78fff58ce4f92c85fe78b717a826
BLAKE2b-256 6e4fa17b1f0ebfeabe37326f01afb6109961f20a0165c1258242f46d10a554f5

See more details on using hashes here.

File details

Details for the file warp_lang-1.17.0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for warp_lang-1.17.0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 47cd93636828dd16e55eeb4e77a0e3547b5fb0f383000a3d228629df68f28fd8
MD5 6178e08f3233451773b8fd267ffee3a1
BLAKE2b-256 a6a1e11aa6898e8bbb6910e89fe31a3338fb2566f038912010875c072e6dafd1

See more details on using hashes here.

File details

Details for the file warp_lang-1.17.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for warp_lang-1.17.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2fec43afb81caa2190c0b7fa3aaf4d869f3599839f0c40b9ead84331f91e993
MD5 0deae39e6e52e2ae86d4c42b5a9daca3
BLAKE2b-256 beb09b1de407fa10b380f5ca4ed1c3e5b129be55ea26a927c7a49e45cdde14b0

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.17.0 This release

4 files

1.16.0

4 files

1.15.0

4 files

1.14.0

4 files

1.13.0

4 files

1.12.1

4 files

1.12.0

4 files

1.11.1

4 files

1.11.0

4 files

1.10.1

4 files

1.10.0

4 files

1.9.1

4 files

1.9.0

4 files

1.8.1

4 files

1.8.0

4 files

1.7.2

4 files

1.7.1

4 files

1.7.0

4 files

1.6.2

4 files

1.6.1

4 files

1.6.0

4 files

1.5.1

4 files

1.5.0

4 files

1.4.2

4 files

1.4.1

4 files

1.4.0

4 files

1.3.3

4 files

1.3.2

4 files

1.3.1

4 files

1.3.0

4 files

1.2.2

4 files

1.2.1

4 files

1.2.0

4 files

1.1.0

4 files

1.0.2

4 files

1.0.1

4 files

1.0.0

4 files

0.15.1

4 files

0.15.0

4 files

0.13.0

4 files

0.11.0

4 files

0.10.1

3 files

0.9.0

3 files

0.8.0

2 files

0.7.2

2 files

0.6.2

2 files

0.6.1

2 files

0.5.0

2 files

0.4.3

2 files

0.3.1

2 files

0.2.3

2 files

0.2.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page