Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caches PhysX view's joint paths when processing fixed articulation tendons #1347

Merged
merged 7 commits into from
Nov 1, 2024

Conversation

Toni-SM
Copy link
Contributor

@Toni-SM Toni-SM commented Oct 30, 2024

Description

Cache PhysX view's DOF paths before looping when processing fixed articulation tendons to improve loading time.

For the Shadow Hand task, calling self.root_physx_view.dof_paths when iterating over all joints to find tendons attached (in Articulation._process_fixed_tendons method) is an "expensive" operation. Timing can be reduced from 2.2 seconds to 300 milliseconds (13th Gen Intel® Core™ i9-13950HX × 32, RTX 5000) by calling self.root_physx_view.dof_paths once

Screenshots

Without any change
Screenshot from 2024-10-28 13-30-07

After cache PhysX view's DOF paths before looping (self.root_physx_view.dof_paths called only once)
Screenshot from 2024-10-28 13-26-02

Checklist

  • I have run the pre-commit checks with ./isaaclab.sh --format
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • I have updated the changelog and the corresponding version in the extension's config/extension.toml file
  • I have added my name to the CONTRIBUTORS.md or my name already exists there

@Mayankm96 Mayankm96 changed the title Cache PhysX view's DOF paths when processing fixed articulation tendons to improve loading time Caches PhysX view's joint paths when processing fixed articulation tendons Oct 30, 2024
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
@Mayankm96 Mayankm96 merged commit b3b4548 into main Nov 1, 2024
3 checks passed
@Mayankm96 Mayankm96 deleted the toni/perf/process_fixed_tendons branch November 1, 2024 13:18
iamdrfly pushed a commit to iamdrfly/IsaacLab that referenced this pull request Nov 21, 2024
…ndons (isaac-sim#1347)

# Description

Cache PhysX view's DOF paths before looping when processing fixed
articulation tendons to improve loading time.

For the Shadow Hand task, calling `self.root_physx_view.dof_paths` when
iterating over all joints to find tendons attached (in
`Articulation._process_fixed_tendons` method) is an "expensive"
operation. Timing can be reduced from 2.2 seconds to 300 milliseconds
(13th Gen Intel® Core™ i9-13950HX × 32, RTX 5000) by calling
`self.root_physx_view.dof_paths` once

## Screenshots

Without any change
![Screenshot from 2024-10-28
13-30-07](https://github.com/user-attachments/assets/0bd61f3d-3013-49fb-8540-c08236b974cf)

After cache PhysX view's DOF paths before looping
(`self.root_physx_view.dof_paths` called only once)
![Screenshot from 2024-10-28
13-26-02](https://github.com/user-attachments/assets/6c2af86e-bd21-4b65-9c13-9610e6648e8d)


## Checklist

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [x] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there
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.

3 participants