From 530058cadbcf7c75375c6b2caa3e22b591423bf8 Mon Sep 17 00:00:00 2001 From: Yuval Tassa Date: Thu, 16 Nov 2023 06:09:37 -0800 Subject: [PATCH] Clarify support for muscles/tendons in future MJX. Add details to the large scene benchmark. PiperOrigin-RevId: 583018058 Change-Id: I3d93a73b4bd71ade1ecf28b8cff9a114259e71e1 --- doc/images/mjx/SPS.svg | 1 + doc/images/mjx/mujoco_vs_mjx_large_scene.png | Bin 26229 -> 0 bytes doc/mjx.rst | 62 +++++++++++++------ 3 files changed, 43 insertions(+), 20 deletions(-) create mode 100644 doc/images/mjx/SPS.svg delete mode 100644 doc/images/mjx/mujoco_vs_mjx_large_scene.png diff --git a/doc/images/mjx/SPS.svg b/doc/images/mjx/SPS.svg new file mode 100644 index 00000000..a35a2508 --- /dev/null +++ b/doc/images/mjx/SPS.svg @@ -0,0 +1 @@ + diff --git a/doc/images/mjx/mujoco_vs_mjx_large_scene.png b/doc/images/mjx/mujoco_vs_mjx_large_scene.png deleted file mode 100644 index d9ef4b543143031b196c8fb9a8eb21fccc4010af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26229 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 Wd|77b<4O4P5!4}busoWciTEEyMfDH> diff --git a/doc/mjx.rst b/doc/mjx.rst index 481da5c8..2bdd9a58 100644 --- a/doc/mjx.rst +++ b/doc/mjx.rst @@ -171,7 +171,7 @@ The following features are **fully supported** in MJX: .. list-table:: :width: 90% :align: left - :widths: 1 5 + :widths: 2 5 :header-rows: 1 * - Category @@ -182,9 +182,12 @@ The following features are **fully supported** in MJX: - ``FREE``, ``BALL``, ``SLIDE``, ``HINGE`` * - :ref:`Transmission ` - ``TRN_JOINT`` - * - :ref:`Actuation ` - - ``DYN_NONE``, ``DYN_INTEGRATOR``, ``DYN_FILTER``, ``GAIN_FIXED``, ``GAIN_AFFINE``, ``BIAS_NONE``, - ``BIAS_AFFINE`` + * - :ref:`Actuator Dynamics ` + - ``NONE``, ``INTEGRATOR``, ``FILTER`` + * - :ref:`Actuator Gain ` + - ``FIXED``, ``AFFINE`` + * - :ref:`Actuator Bias ` + - ``NONE``, ``AFFINE`` * - :ref:`Geom ` - ``PLANE``, ``SPHERE``, ``CAPSULE``, ``BOX``, ``MESH`` * - :ref:`Constraint ` @@ -207,7 +210,7 @@ The following features are **in development** and coming soon: .. list-table:: :width: 90% :align: left - :widths: 1 5 + :widths: 2 5 :header-rows: 1 * - Category @@ -216,8 +219,16 @@ The following features are **in development** and coming soon: - :ref:`Inverse ` * - :ref:`Transmission ` - ``TRN_TENDON`` + * - :ref:`Actuator Dynamics ` + - ``MUSCLE`` + * - :ref:`Actuator Gain ` + - ``MUSCLE`` + * - :ref:`Actuator Bias ` + - ``MUSCLE`` + * - :ref:`Tendon Wrapping ` + - ``NONE``, ``JOINT``, ``PULLEY``, ``SITE``, ``SPHERE``, ``CYLINDER`` * - :ref:`Geom ` - - ``HFIELD``, ``ELLIPSOID``, ``CYLINDER``, ``SDF`` + - ``HFIELD``, ``ELLIPSOID``, ``CYLINDER`` * - :ref:`Constraint ` - ``CONTACT_FRICTIONLESS``, ``CONTACT_ELLIPTIC``, ``FRICTION_DOF`` * - :ref:`Integrator ` @@ -233,24 +244,32 @@ The following features are **in development** and coming soon: * - :ref:`Equality ` - ``TENDON`` * - :ref:`Sensors ` - - All except ``mjSENS_PLUGIN``, ``mjSENS_USER`` + - All except ``PLUGIN``, ``USER`` The following features are **unsupported**: .. list-table:: :width: 90% :align: left - :widths: 1 5 + :widths: 2 5 :header-rows: 1 * - Category - Feature * - :ref:`Transmission ` - - ``TRN_JOINTINPARENT``, ``TRN_SLIDERCRANK``, ``TRN_SITE``, ``TRN_BODY``, ``MUSCLE`` + - ``TRN_JOINTINPARENT``, ``TRN_SLIDERCRANK``, ``TRN_SITE``, ``TRN_BODY`` + * - :ref:`Actuator Dynamics ` + - ``FILTEREXACT``, ``USER`` + * - :ref:`Actuator Gain ` + - ``USER`` + * - :ref:`Actuator Bias ` + - ``USER`` * - :ref:`Solver ` - ``PGS`` - * - :ref:`Callbacks ` - - ``mjDYN_USER``, ``mjGAIN_USER``, ``mjBIAS_USER``, ``mjSENS_USER`` + * - :ref:`Sensors ` + - ``PLUGIN``, ``USER`` + * - :ref:`Geom ` + - ``SDF`` .. _MjxSharpBits: @@ -276,17 +295,20 @@ Large, complex scenes with many contacts bodies in a scene. MJX ships with a simple branchless broad-phase algorithm (see performance tuning) but it is not as powerful as the one in MuJoCo. - To see how this affects simulation, let us consider a physics scene with increasing numbers of physics bodies. We - simulate a scene with a variable number of humanoids (from 1 to 10) and then compare MJX's performance on an Nvidia - A100 GPU to MuJoCo on a 12-core workstation: + To see how this affects simulation, let us consider a physics scene with increasing numbers of humanoid bodies, + varied from 1 to 10. We simulate this scene using CPU MuJoCo on an Apple M1 Pro and a 64-core AMD 3995WX and time + it using :ref:`testspeed`, using ``2 x numcore`` threads. We time the MJX simulation on an Nvidia + A100 GPU using a batch size of 8192 and an 8-chip + `v5 TPU `__ + machine using a batch size of 16384. Note the vertical scale is logarithmic. - .. figure:: images/mjx/mujoco_vs_mjx_large_scene.png - :width: 658px - :align: center + .. figure:: images/mjx/SPS.svg + :width: 95% + :align: center - Notice that as we increase the number of humanoids (which increases the number of potential contacts in a scene), MJX - performance degrades more rapidly than MuJoCo. At the limit, for such a large scene, MuJoCo performance nearly - matches MJX. + The values for a single humanoid (leftmost datapoints) for the four timed architectures are **320K**, **1.8M**, + **950K** and **2.7M** steps per second, respectively. Note that as we increase the number of humanoids (which + increases the number of potential contacts in a scene), MJX throughput decreases more rapidly than MuJoCo. Scenes with collisions between meshes with many vertices MJX supports mesh geometries and can determine if two meshes are colliding using branchless versions of