NVIDIA Warp—Preview Release

NVIDIA Warp is a Python framework that gives coders an easy way to write GPU-accelerated, kernel-based programs in NVIDIA Omniverse™ and OmniGraph. With Warp, Omniverse developers are creating GPU-accelerated, 3D simulation workflows and fantastic virtual worlds. Key benefits include simulation performance on par with native code and shorter time to market with improved iteration time.

Download Now

Key Features

Kernel-Based Code in Python

Warp performs a just-in-time (JIT) runtime compilation of Python functions to x86/ and CUDA® kernel-level code. Kernel-based programming provides a low-level abstraction that maps closely to GPU hardware, and, in contrast to tensor-based programming, provides implicit kernel fusion (controlled by the user), fine-grained control over threads, native support for conditional logic, and sparse scatter and gather.

Learn More

Differentiable Programming

Warp was originally designed as a compiler backend for differentiable physics research. In addition to generating forward-mode kernels, Warp can generate reverse-mode (adjoint) kernels that can propagate gradients of simulation results back into frameworks such as PyTorch and JAX.

Learn More

Built-in Geometry Processing

Warp includes built-in high-level functionality for simulation and geometry processing. In addition to basic spatial math types such as vec3, mat33, mat44; Warp provides higher-level data structures such as meshes, hash grids, and sparse volumes (NanoVDB) are provided for fast geometric queries.

Learn More

See Warp in Action

Many Python developers are using Warp today. In Omniverse, groups are using Warp for digital humans, physics simulation, and procedural animation. Warp includes several higher-level data structures that make implementing simulation and geometry processing algorithms easier.


Meshes

Triangle meshes are ubiquitous in simulation and computer graphics. Warp provides a built-in type for managing mesh data that supports geometric queries such as closest- point, ray-cast, and overlap checks.

Sparse Volumes

Sparse volumes are incredibly useful for representing grid data over large domains, such as signed distance fields (SDFs) for complex objects, or velocities for large-scale fluid flow. Warp includes support for sparse volumes defined using the NanoVDB standard.

Hash Grids

Many particle-based simulation methods, such as the Discrete Element Method (DEM), or and Smoothed Particle Hydrodynamics (SPH), involve iterating over spatial neighbors to compute force interactions. Hash grids are a well-established data structure to accelerate these nearest- neighbor queries and are particularly well-suited to the GPU.

cloth-simulation-630x354.gif

Cloth Simulation

Watch a cloth simulation that was created with a neo-Hookean finite element model (FEM) and an edge-based bending model. This example uses built-in geometry queries and GPU-accelerated bounding volume hierarchy (BVH) refits for collision detection against dynamic meshes.

Learn More
particle-based-simulation-630x354.gif

Particle-Based Simulation

This example shows how we can simulate granular materials with cohesion and adhesion by combining a discrete element model (DEM) with deforming mesh collision. The collision body is a time-sampled animation from USD, and the granular material makes use of fast nearest neighbors queries to implement DEM in < 200 lines of Python.

Learn More
Procedural Animation

Procedural Animation

See a real-time procedural ocean deformer implemented in Warp and integrated into Omniverse as an OmniGraph node to drive Universal Scene Description (USD)-based mesh primitives.

Learn More
Mesh Deformers

Mesh Deformers

Observe a shrink-wrap deformer that uses kernel-based ray casts against the eye mesh to deform the eyelids around the eyeball. This example is driven through the OmniGraph deformer pipeline.

Learn More

Visit GitHub to download the latest version of NVIDIA Warp software.

Download now