implicit integrator#1339
Merged
Merged
Conversation
062bc66 to
5e8e661
Compare
6381deb to
08eab76
Compare
erikfrey
added a commit
to erikfrey/mujoco_warp
that referenced
this pull request
May 15, 2026
- Use high-throughput instead of fast in README intro (thowell) - Simplify --event_trace flag usage, drop =True (thowell) - Remove Jacobian format exception, sparse Jacobians now supported (thowell) - Simplify Flex to experimental status (thowell) - Move differentiability out of exceptions list, link to google-deepmind#500 (thowell) - Link implicit integrator exception to PR google-deepmind#1339 (thowell) - Fix e.stderr logging in _view_benchmark, use e.returncode instead (thowell) - Warn and show only first match when --view matches multiple benchmarks (thowell)
erikfrey
added a commit
that referenced
this pull request
May 18, 2026
…1359) * Refresh README, add AGENTS.md, add --view flag to benchmarks/run.py Rewrites the README to lead with a quickstart example, reorganizes sections for clarity, replaces the compatibility table with a concise exceptions list, and adds an animated examples gallery showcasing benchmark scenes. Adds AGENTS.md with development workflow conventions and a .agent/rules pointer for AI coding assistants. Adds a --view flag to benchmarks/run.py that launches mjwarp-viewer on a benchmark scene with nworld=1, so the examples in the README work out of the box. * Address review comments - Use high-throughput instead of fast in README intro (thowell) - Simplify --event_trace flag usage, drop =True (thowell) - Remove Jacobian format exception, sparse Jacobians now supported (thowell) - Simplify Flex to experimental status (thowell) - Move differentiability out of exceptions list, link to #500 (thowell) - Link implicit integrator exception to PR #1339 (thowell) - Fix e.stderr logging in _view_benchmark, use e.returncode instead (thowell) - Warn and show only first match when --view matches multiple benchmarks (thowell) * Add PR review etiquette and amend guidelines to AGENTS.md * Clean up run.py view logic and fix AGENTS.md formatting Restructure --view to avoid loop+break pattern, add empty benchmarks check with helpful error message. Unwrap hard-wrapped lines in AGENTS.md and soften PR body guidelines.
yuvaltassa
approved these changes
May 21, 2026
fd3c379 to
a0daa0e
Compare
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.
add implicit integrator
Humanoid Benchmark Report
Date: 2026-05-08
GPU: NVIDIA RTX 6000 Ada Generation (48 GB)
Scene:
benchmarks/humanoid/humanoid.xml(nq=28, nv=27, nu=21, nbody=17, ngeom=20)Config:
--nworld=8192 --nconmax=24 --njmax=64, 1000 steps at dt=0.005Solver: NEWTON (iterations=100, ls_iterations=50), PYRAMIDAL cone, dense Jacobian
466793a)17fba98)17fba98)17fba98)Integrator Comparison (current commit)
step(total)forwardimplicitderiv_smooth_velfactor_solve_lurungekutta4forward×3 (substeps)solveRelative to implicitfast:
Important
implicitoverhead: Fullderiv_smooth_vel(22.2× more expensive than the fast variant) +factor_solve_lu(131 ns LU factorization/solve).rk4overhead: Three additionalforwardsubstep evaluations (~217 ns each) insiderungekutta4, totaling ~650 ns of extra compute.The
forwardpipeline (collision, solve, kinematics, etc.) is identical across integrators — the differences are purely in the integration phase.Regression Check: implicitfast (previous vs current commit)
466793a)17fba98)step(total)forwardimplicitderiv_smooth_velsolvefwd_positionfwd_velocityNote
The
implicitfastintegrator shows no regression vs the previous commit (466793a). Theimplicitphase is slightly faster (−2.1%) due to fused M-structure derivative computation replacing the previous D-structure → M-structure mapping path.Detailed Event Traces
implicitfast — previous commit (
466793a)implicitfast — current commit (
17fba98)implicit — current commit (
17fba98)rk4 — current commit (
17fba98)