perf(mjwarp): reduce g1 motion tracking reset latency - #1327
Merged
TATP-233 merged 1 commit intoAug 26, 2026
Merged
Conversation
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.
Summary
SimBackendrow contract and avoiding full-batch cache materialization duringMotionCommandpartial reset.Linked Work
dev/issue-1304-motion-numba-body-stateperf/issue-1325-mjwarp-reset4fa6631a3c9c465db86cd671275319168ce36fe0Scope and governance
src/unilab/base/backend/mjwarp/and focused backend tests only.main; per the governance update in PR docs: streamline roadmap and PR governance #1313, the localmake test-allresult is the child-PR gate.Validation
make test-allgit diff --checkCommands actually run:
Results:
make test-all: 2316 passed, 28 skipped, 281 deselected, 1 xfailed; benchmark smoke 33/34 module-mode and 34/35 script-mode (the one skip in each is platform-optional MLX).make test-all: ruff, mypy (247 source files), and pyright all passed.Performance evidence
Same-host SAC
g1_motion_tracking, 8192 envs, 10 warmup + 100 measured vector steps, usingbenchmark_offpolicy_collector_active.py:reset_donereset_done_reset_callset_stateThe final run selected a 512-world scratch data for the 8192 batch; the measured reset-row population remained below that bound. MuJoCo source behavior is unchanged; in the paired final run its
reset_donewas 6.643 ms and throughput 85,497 env/s (within run-to-run variation of the investigation baseline).Impact
Checklist