-
Notifications
You must be signed in to change notification settings - Fork 14
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
Revert #387 and #395 #402
base: main
Are you sure you want to change the base?
Revert #387 and #395 #402
Conversation
There is a CI failure:
|
7ec38c1
to
4737fff
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Benchmark
Benchmark suite | Current: 4737fff | Previous: b8dc880 | Ratio |
---|---|---|---|
tests/test_benchmark.py::test_forward_dynamics_aba[1] |
26.771161065432256 iter/sec (stddev: 0.00019485051250307908 ) |
30.43094994884611 iter/sec (stddev: 0.0002354202407734067 ) |
1.14 |
tests/test_benchmark.py::test_forward_dynamics_aba[128] |
13.306121100340379 iter/sec (stddev: 0.0004374048403860229 ) |
14.575836005798429 iter/sec (stddev: 0.0006585891972580001 ) |
1.10 |
tests/test_benchmark.py::test_free_floating_bias_forces[1] |
20.60888094041721 iter/sec (stddev: 0.0002337968909228176 ) |
25.397133741737715 iter/sec (stddev: 0.0009491392636666373 ) |
1.23 |
tests/test_benchmark.py::test_free_floating_bias_forces[128] |
9.9183704918857 iter/sec (stddev: 0.0004916332580465632 ) |
10.6816914285496 iter/sec (stddev: 0.000517398924164968 ) |
1.08 |
tests/test_benchmark.py::test_forward_kinematics[1] |
71.93808490759359 iter/sec (stddev: 0.0000938352122411298 ) |
72.03167875049594 iter/sec (stddev: 0.00009500412749925384 ) |
1.00 |
tests/test_benchmark.py::test_forward_kinematics[128] |
23.478368868982997 iter/sec (stddev: 0.00023936644767193896 ) |
23.471106849285086 iter/sec (stddev: 0.00020376718898495997 ) |
1.00 |
tests/test_benchmark.py::test_free_floating_mass_matrix[1] |
38.144736780834386 iter/sec (stddev: 0.00010683173008196215 ) |
38.675730942178994 iter/sec (stddev: 0.00010568383460247941 ) |
1.01 |
tests/test_benchmark.py::test_free_floating_mass_matrix[128] |
38.005965185631815 iter/sec (stddev: 0.0001342870024498102 ) |
38.2550466367494 iter/sec (stddev: 0.00015319005592225342 ) |
1.01 |
tests/test_benchmark.py::test_free_floating_jacobian[1] |
47.02984364688569 iter/sec (stddev: 0.000096850931532444 ) |
48.19269568026804 iter/sec (stddev: 0.00008858560640105389 ) |
1.02 |
tests/test_benchmark.py::test_free_floating_jacobian[128] |
48.70964919878832 iter/sec (stddev: 0.00020954432155238548 ) |
49.04617743615522 iter/sec (stddev: 0.00007703519636250519 ) |
1.01 |
tests/test_benchmark.py::test_free_floating_jacobian_derivative[1] |
28.439890376431343 iter/sec (stddev: 0.00023134987913193337 ) |
29.346998764148726 iter/sec (stddev: 0.00015369239727139257 ) |
1.03 |
tests/test_benchmark.py::test_free_floating_jacobian_derivative[128] |
28.41847566873336 iter/sec (stddev: 0.00018270067170953475 ) |
29.579412781307177 iter/sec (stddev: 0.0001491117343376076 ) |
1.04 |
tests/test_benchmark.py::test_soft_contact_model[1] |
26.332686737410622 iter/sec (stddev: 0.00016605382076508872 ) |
27.180213298960158 iter/sec (stddev: 0.00011167425098739633 ) |
1.03 |
tests/test_benchmark.py::test_soft_contact_model[128] |
13.205507651440081 iter/sec (stddev: 0.00033206898927514496 ) |
13.438532944177156 iter/sec (stddev: 0.0007602145408073091 ) |
1.02 |
tests/test_benchmark.py::test_rigid_contact_model[1] |
5.221830162211012 iter/sec (stddev: 0.0024398846972363344 ) |
5.826319682602947 iter/sec (stddev: 0.0005824582164795953 ) |
1.12 |
tests/test_benchmark.py::test_rigid_contact_model[128] |
0.814829002459975 iter/sec (stddev: 0.0006678807676943632 ) |
0.8342140152755144 iter/sec (stddev: 0.0033817016292866774 ) |
1.02 |
tests/test_benchmark.py::test_relaxed_rigid_contact_model[1] |
4.832844148561137 iter/sec (stddev: 0.003601730144188538 ) |
5.166702718309451 iter/sec (stddev: 0.00044048150996140167 ) |
1.07 |
tests/test_benchmark.py::test_relaxed_rigid_contact_model[128] |
2.9647677439481095 iter/sec (stddev: 0.0007524538903536227 ) |
3.1864271451250157 iter/sec (stddev: 0.001222744051181486 ) |
1.07 |
tests/test_benchmark.py::test_simulation_step[1] |
3.9179474018844815 iter/sec (stddev: 0.0007194938392652653 ) |
4.16523976071087 iter/sec (stddev: 0.0005173472764501817 ) |
1.06 |
tests/test_benchmark.py::test_simulation_step[128] |
2.3911517830233424 iter/sec (stddev: 0.0018831808155391533 ) |
2.4639733087509925 iter/sec (stddev: 0.0009650346967322344 ) |
1.03 |
This comment was automatically generated by workflow using github-action-benchmark.
From the benchmarks it looks like there is a slight slowdown after the revert, still we need to check with the RL training scripts @younik |
I am running it now, will let you know |
Did you have the chance to check this ? |
It is still queued on Franklin D: |
The |
It seems the slowdown persists... maybe I did the bisect wrongly that wasn't the fault PR; apologize for that For reference, this is my conda env:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to understand what is still introducing the slow down before merging the PR
This pull request reverts #387 and #395 temporarily in order to debug a slowdown in both the compilation and runtime that we have encountered.
Summary of the reverted changes:
Changes to
examples/jaxsim_as_physics_engine_advanced.ipynb
:MUJOCO_GL
and adjusted the batch size and base position bounds in the simulation setup. [1] [2]Changes to
src/jaxsim/api/common.py
:einsum
for better readability and efficiency in theinertial_to_other_representation
andother_representation_to_inertial
functions. [1] [2] [3]Changes to
src/jaxsim/api/data.py
:contact_state
attribute fromJaxSimModelData
and updated thebuild
andreplace
methods to handle contact state differently. [1] [2] [3] [4]Changes to
src/jaxsim/api/integrators.py
:Changes to
src/jaxsim/api/model.py
:jax.vmap
for vectorized transformation of external forces to the inertial-fixed representation.📚 Documentation preview 📚: https://jaxsim--402.org.readthedocs.build//402/