NVIDIA ovstage#
ovstage is a vectorized, GPU-native runtime stage for OpenUSD data — a shared, high-performance data substrate for OV Libraries spanning physics, rendering, sensors, animation, and graph. It provides a unified C API for reading, writing, querying, and managing simulation data such as transforms, velocities, materials, hierarchy, and metadata across CPU and GPU memory, with zero-copy data paths and DLPack tensor interchange.
In this documentation you will find getting started guides for C and Python, API references, and example projects.
Getting started in C — the validated bring-up path today.
Getting started in Python — the ctypes bindings over the same C API.
Note
ovstage is currently pre-release software. The API, runtime behavior, and packaging can change. Standalone public packages, prebuilt binaries, and Python wheels are still in progress.
Execution Model#
ovstage uses an asynchronous, ordinal-keyed submit/observe model:
Enqueue (synchronous). State-mutating and data-producing calls return an
ovstage_enqueue_result_t(status +op_index) immediately; the work is queued and runs later.Ordinal-keyed write ordering. Writes, deletes, and map commits carry an explicit
ordinal. Same-ordinal ops run in submission order; different-ordinal ops are independent and can run concurrently.Reads and queries are independent. Reads target sealed data at or below the immutable write floor. Queries resolve against the latest committed state.
Zero-copy by default, with DLPack
DLTensorfor tensor interchange.
Support#
Report documentation issues and runtime issues through the NVIDIA Omniverse developer forum.
License#
The software and materials are governed by the NVIDIA Software License Agreement and the Product Specific Terms for NVIDIA AI Products.