Skip to content

Conversation

@thowell
Copy link
Collaborator

@thowell thowell commented Dec 27, 2025

sparse implementation for actuator_moment as part of the effort to implement sparse Jacobians #88

notes:

  • unlike mujoco where moment_rowadr is computed dynamically by mj_transmission, this implementation statically computes moment_rowadr ahead of time in io.put_model and stores this field in Model.
  • actuators including slidercrank, tendon, site, or body transmissions are currently assumed to have dense Jacobian rows.
  • in the future it might makes sense to investigate dynamically computing moment_rowadr and storing it in Data if we end up trying to optimize scenes with transmissions mentioned above.
  • this pr does not implement sparsity for body transmissions -- probably makes sense to wait until sparse efc_J #934 is merged before adding this feature since this transmission type depends on efc_J
  • there are probably remaining performance optimizations for some of the sparse routine kernels and update kernels

@thowell thowell mentioned this pull request Jan 4, 2026
4 tasks
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