application-flow
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Restricting RenderProducts to specific CUDA-visible device indices with the USD deviceIds attribute. Use when a scene, test, or example must constrain a RenderProduct to CUDA-visible GPU 0 or another explicit set of CUDA-visible GPUs, especially for multi-GPU CI or viewport
$ npx -y skills add nvidia-omniverse/ovrtx --skill render-product-device-pinning --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/render-product-device-pinningContext preview
The summary Claude sees to decide when to auto-load this skill.
Restricting RenderProducts to specific CUDA-visible device indices with the USD deviceIds attribute. Use when a scene, test, or example must constrain a RenderProduct to CUDA-visible GPU 0 or another explicit set of CUDA-visible GPUs, especially for multi-GPU CI or viewport
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: LicenseRef-NvidiaProprietary # # NVIDIA CORPORATION, its affiliates and licensors retain all intellectual # property and proprietary rights in and to this material, related # documentation and any modifications thereto. Any use, reproduction, # disclosure or distribution of this material and related documentation # without an express license agreement from NVIDIA CORPORATION or # its affiliates is strictly prohibited. name: render-product-device-pinning description: > Restricting RenderProducts to specific CUDA-visible device indices with the USD deviceIds attribute. Use when a scene, test, or example must constrain a RenderProduct to CUDA-visible GPU 0 or another explicit set of CUDA-visible GPUs, especially for multi-GPU CI or viewport picking. license: LicenseRef-NvidiaProprietary author: NVIDIA ovrtx tags: - ovrtx - rendering - gpu tools: - Read - Grep
Use this skill when a scene, test, or example must constrain a RenderProduct to CUDA-visible GPU 0 or another explicit set of CUDA-visible GPUs, especially for multi-GPU CI or viewport picking.
Resolve inputs in this order: existing repository files and referenced snippets, explicit user request, then broader agent context.
1. Identify the RenderProduct path and the CUDA-visible device indices it should be allowed to use. 2. Author or update the RenderProduct `deviceIds` attribute in USD; do not pin Camera or RenderVar prims. 3. Interpret device IDs after `CUDA_VISIBLE_DEVICES` remapping, not as physical PCI bus or global GPU IDs. 4. For picking workflows, pin the relevant RenderProduct to CUDA-visible GPU 0 until the picking limitation is removed. 5. When changing code, run the picking or render-product docs test that owns the GPU-pinning snippet whenever practical.
This skill has no scripts.
ovrtx can select active CUDA devices at renderer creation and can also restrict an individual RenderProduct to a specific device list. Author `uint[] deviceIds` on the RenderProduct prim before the stage is loaded.
`deviceIds` is an allow-list of indices into the CUDA-visible device set, after `CUDA_VISIBLE_DEVICES` filtering and remapping. ovrtx is free to choose any CUDA-visible GPU from the list. A one-element list such as `[0]` restricts the RenderProduct to CUDA-visible GPU 0.
Use this when a workflow is device-sensitive, needs to constrain eligible GPUs, or must run on CUDA-visible GPU 0. In the current ovrtx version, viewport picking only works for RenderProducts running on CUDA-visible GPU 0, so picking tests and examples should restrict their picking RenderProduct to `deviceIds = [0]`.
> **Source:** `tests/docs/data/ovrtx-test-picking-selection.usda` snippet `doc-pin-render-product-to-gpu-0-usda`
1. Choose the CUDA-visible device indices that may render the product. 2. Author `uint[] deviceIds` directly on the RenderProduct prim in USD. 3. If using renderer-level `active_cuda_gpus`, ensure the RenderProduct allow-list is compatible with that active device set. 4. Load the scene normally from Python or C. 5. Step the constrained RenderProduct path as usual.
For picking, use CUDA-visible GPU 0 until the current picking limitation is removed.
| Attribute | Type | Use | |-----------|------|-----| | `deviceIds` | `uint[]` | Allow-list of indices into `CUDA_VISIBLE_DEVICES` that may render this RenderProduct. ovrtx may choose any listed CUDA-visible GPU. Use `[0]` to restrict picking RenderProducts to CUDA-visible GPU 0. |
object, camera, or RenderVar.
indices, display adapters, or physical GPU ids masked out by `CUDA_VISIBLE_DEVICES`.
Exact device selection requires a singleton list such as `[0]`; `[0, 1]` permits ovrtx to choose either listed CUDA-visible GPU.
For picking, leave `active_cuda_gpus` unset or ensure it includes CUDA-visible index `0`.
for tests that need deterministic device assignment during renderer setup.
GPU 0. In multi-GPU CI, omit the CUDA-visible GPU 0 restric
ovrtx is a C and Python library for embedding Omniverse RTX sensor simulation and visualization directly into applications.
High-level overview of a typical ovrtx application lifecycle. Use when user asks how to structure an ovrtx program, what the main…
Asynchronous operation patterns including polling, timeouts, and non-blocking workflows. Use when user asks about async…
Replacing persistent ovrtx attribute bindings with reusable ovstage queries for repeated writes or maps. Use when user asks about…
Binding materials to prims at runtime. Use when user asks to assign a material, change a material, set material binding, or swap…
Available camera render outputs for Real-Time Path-Tracing (RT2) mode. Use when user asks what AOVs/render vars are available,…
Cloning USD subtrees to create copies at new paths. Use when user asks to clone, duplicate, copy a prim, or create instances of…