Optimize Newton replicated startup paths - #6931
Closed
kellyguo11 wants to merge 2 commits into
Closed
Conversation
Construct reorientation assets inside ReplicateSession so backend replication observes the complete asset queue without authoring every environment first. Preserve the existing PhysX collision filtering behavior after replication.
Avoid materializing unused USD clones for pure headless Newton runs and resolve cameras from clone prototypes. Scope global USD import and collision processing to relevant source roots, cache repeated articulation and sensor work, and map segmentation labels through the clone plan. Keep concrete USD replication for PhysX, RTX, visualizers, and heterogeneous prototype mappings that require it.
Contributor
Author
|
Closing this duplicate PR; development and review will continue in #6928. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Optimize replicated-scene startup for Newton camera and non-camera tasks while preserving heterogeneous-environment support.
What changed
ReplicateSession, so backend replication sees the complete asset queue.Dependencies: none.
Performance
Measured against
upstream/developate3c7dd87b6on an RTX PRO 6000 Blackwell with 4096 environments and warm asset/kernel caches. These are standardizedisaaclab benchmark startupcProfile totals from launch phases through the completed first step.newton_mjwarp,newton_renderernewton_mjwarp,newton_renderer,single_camera,rgb64newton_mjwarpEnvironment-creation-only timing improved from 35.832 s to 13.574 s for Shadow (-62.1%), 25.097 s to 23.503 s for Kuka (-6.4%), and 18.294 s to 11.087 s for G1 (-39.4%). First-step time remained effectively unchanged for all three tasks.
Kuka improves less because its heterogeneous multi-object scene still requires per-source builders, compatibility checks, collision fallback handling, and four contact-sensor constructions. The homogeneous fast path cannot collapse those task-specific costs.
The standardized profiled totals should not be compared directly with earlier unprofiled prototype measurements such as 9.898 s because cProfile instruments Python-heavy scene traversal and the measurement boundaries differ.
Type of change
Validation
upstream/develop.Isaac-Lift-KukaAllegro-Camera: RSL-RL, 16 environments, Newton MJWarp plus Newton renderer, two learning iterations completed.Isaac-Reorient-Cube-Shadow-Camera-Direct: RSL-RL, 16 environments, Newton MJWarp plus Newton renderer, two learning iterations completed.uv run --frozen python tools/changelog/cli.py check develop: passed.uv run --frozen isaaclab -f: passed.source/isaaclab/test/sim/test_cloner.pyrequires the full Isaac Sim runtime and cannot collect in this kitless worktree. PhysX plus RTX benchmarking remains an explicit CI or reviewer validation request.Screenshots
Not applicable.
Checklist
source/<pkg>/changelog.d/for every touched packageCONTRIBUTORS.md