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