Skip to main content

Warp SimData

GPU-accelerated simulation-data processing across common scientific data models, built on NVIDIA Warp.

As solvers and AI physics accelerate, processing large simulation outputs becomes the bottleneck to scientific and engineering decisions. Warp SimData provides slicing, iso-surfaces, probing, streamlines, external-face extraction, voxelization, and field transformations for analysis, visualization, and simulation-data preparation.

Developers and their agents can reuse performance tuned and tested algorithms for supported scientific representations, and extend model interfaces for custom layouts. Use it directly from Python or through existing (optional) OpenUSD and VTK integrations.

Performance

Warp SimData can substantially reduce processing time for common operations on large structured, unstructured, and polyhedral datasets. Its algorithms are tuned for GPU execution to make interactive visualization and high-throughput simulation data processing practical.

Initial benchmarks on unstructured meshes of varying sizes showed average speedups of roughly 14–40× over CPU implementations and 5–25× over GPU implementations for slicing, iso-surface extraction, and field averaging. Average speedups reached 90×+ over CPU implementations for element-center computation, streamlines on structured grids, and iso-surface extraction on polyhedral meshes.

Performance varies with the operator, data layout, hardware, and reuse of prepared data. See performance guidance for data reuse and timing.

Installation

python -m pip install "warp-simdata==0.2.0"

Requires

  • Python 3.10+
  • Warp 1.17+
  • NumPy 1.20+
  • An NVIDIA CUDA-capable GPU and compatible driver for CUDA execution; CPU execution is also supported
  • Git LFS when cloning the full source tree and its test data

See installation for optional dependencies and wheels, or install from source.

Quick start

Create a scalar field on a grid, extract a spherical iso-surface, and slice the grid. This example needs only the core package.

import numpy as np
import warp as wp

import warp_simdata as simdata
from warp_simdata.data_models.vtk import image_data
from warp_simdata.operators import iso_surface, slice

device = "cuda:0" if wp.is_cuda_available() else "cpu"

# A 101^3-node grid on [-1, 1]^3, with distance from the center at each node.
n = 101
grid = image_data.create_dataset(
    origin=wp.vec3f(-1.0), spacing=wp.vec3f(2.0 / (n - 1)),
    extent_min=wp.vec3i(0), extent_max=wp.vec3i(n - 1), device=device,
)
x = np.linspace(-1.0, 1.0, n, dtype=np.float32)
z, y, x = np.meshgrid(x, x, x, indexing="ij")  # x varies fastest
radius = np.sqrt(x**2 + y**2 + z**2).ravel()
grid.add_field("radius", simdata.Field.from_array(wp.array(radius, device=device), simdata.AssociationType.NODE))

sphere = iso_surface.compute(grid, "radius", 0.5)
plane = slice.compute(grid, origin=(0.0, 0.0, 0.0), normal=(0.0, 0.0, 1.0), field_names=["radius"])
print(sphere.get_num_elems(), plane.get_num_elems())  # 22808 20000

The outputs are triangular surface datasets. plane also carries the sampled radius field. The first call compiles kernels. For a broader workflow, see basic_pipeline.py.

What's included

  • Operators: geometry/topology queries, field averaging, sampling, surface extraction, streamlines, and voxelization. See the operator reference.
  • Data models: VTK layouts, CGNS/SIDS, EnSight Gold, OpenFOAM, FLASH, reservoir corner-point grids, and custom point/curve/surface models. Capabilities vary by model; adapters may convert or materialize arrays. VTK-shaped Warp models work without VTK installed.
  • Extension interfaces: specialize operators on an existing representation or supply a new model through kernel interfaces.
Optional integration Purpose
OpenUSD Load scientific prims through CAE OpenUSD Plugins, which provides native-format access and composition.
VTK Adapt existing objects and return VTK-owned results.
ParaView Use operators as filters through the source-checkout plugin.

Construct datasets from arrays or use these adapters. Warp SimData handles in-memory compute and analysis; its sampling and extraction can feed AI-data preparation.

Documentation

Task Start here
Install or develop Installation
Choose inputs, fields, and devices Datasets and fields
Run operators or understand performance Python API
Add a model or operator Kernel API, shape functions
Upgrade Changelog, versioning
Run tests Test guide

Project

Warp SimData is a pre-1.0 library maintained by NVIDIA. Minor releases may change APIs; operator-specific experimental features are identified in the reference. It is a Warp ecosystem library, separate from warp-lang and the Warp core team's maintenance. Issues and releases are managed here.

Metadata

Release files for warp-simdata 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for warp-simdata 0.2.0
File Interpreter ABI Platform
warp_simdata-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / warp_simdata-0.2.0-py3-none-any.whl

Download URL warp_simdata-0.2.0-py3-none-any.whl
Size 381.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0fb7add634e1ec4259bb9c94e0754aea249d692ae9f16069a98494c0b9ed8ae6
BLAKE2b-256 checksum
How to use checksums
1b9880c6ef553438a77ae379775e533001e9ef3dd7e8a626684b3291c21dbe17
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.0

1 release file

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