Skip to content

build: pin UniSim 1.5.1 and compare MuJoCo collector throughput - #1601

Closed
TATP-233 wants to merge 1 commit into
mainfrom
perf/unisim-151-collector
Closed

TATP-233 wants to merge 1 commit into
mainfrom
perf/unisim-151-collector

Conversation

@TATP-233

@TATP-233 TATP-233 commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator

Pin UniLab's normal and ROCm dependency profiles to released unisim-core==1.5.1, including the SuperDex extra requirement. Both locks continue to use PyPI. Align the inherited scene model-file default and update existing regression fixtures for the current backend implementation and native camera contract; no collector hot-loop change is introduced.

The requested 1.4.0 versus 1.5.1 MuJoCo collector comparison shows lower throughput in 1.5.1. On the same UniLab 84a00d04 code, Go2 flat task, 8 physical CPU cores, 30 warmup + 300 measured vector steps, and three fresh-process repetitions per version:

Environments 1.4.0 median env transitions/s 1.5.1 median env transitions/s Change
1024 138,780 88,167 -36.47%
4096 209,773 120,476 -42.57%

The largest increase is in state update (N4096: 2.482 → 15.994 ms/vector step), while physics is 16.344 → 16.811 ms. All measured reset counts are zero. New final-body-state freshness work is a source-supported candidate explanation; this experiment did not disable that correctness fix or establish a per-function causal ablation. No non-MuJoCo throughput benchmark was run. G1 was excluded because unmodified 1.4.0 fails during mesh path resolution before timing.

scripts/benchmark/reports/unisim_1_4_0_vs_1_5_1_collector.md contains the configuration, ranges, paired changes, interpretation limits and reproduction commands. Its JSON and compressed raw artifact preserve exact package versions, source/asset hashes, commands and all 12 runs. The existing active-window benchmark includes environment, terminal handling/replay and bookkeeping; it excludes policy inference, learner waiting, process startup and cross-process IPC. The earlier aborted 1.5.0 comparison is excluded.

Validation on a9b8244e:

  • uv sync --locked --extra mujoco --extra motrix: installed PyPI 1.5.1. The Motrix extra is only for the repository's existing validation requirements, not an additional throughput benchmark.
  • make test-all: 1468 passed, 26 skipped, 588 slow deselected; 70% coverage; Ruff/mypy/Pyright passed (one optional Drake warning); benchmark entrypoint smoke 34/34 module and 35/35 script.
  • uv lock --check: passed for standard and isolated ROCm metadata/lock pairs. No ROCm hardware benchmark claimed.
  • git diff --check: passed.
  • All six current-head CI jobs passed on a9b8244e842ccdee63a7053ccaf8fc46429288af, and Sphinx build passed. PR deployment is intentionally skipped.

Base: main. Related dependency/consumer tracking: #1599; package boundary: ADR-0007. This PR updates the dependency independently of the pending M2 consumer PR #1600. It does not merge the M2 consumer implementation or change training/collector lifecycle, tasks, rewards or algorithms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant