Skip to main content

MuJoCo Warp (MJWarp)

Project description

GitHub Actions Documentation License Nightly Benchmarks

MuJoCo Warp (MJWarp)

MJWarp is a GPU-optimized version of the MuJoCo physics simulator, designed for NVIDIA hardware.

MJWarp uses NVIDIA Warp to circumvent many of the sharp bits in MuJoCo MJX. MJWarp is integrated into both MJX and Newton.

MJWarp is maintained by Google DeepMind and NVIDIA.

Getting started

There are a few ways to jump into using MuJoCo Warp:

If you would like to train robot policies using MJWarp, consider using a robotics research toolkit that integrates it:

Installing

From PyPI:

pip install mujoco-warp

From source:

git clone https://github.com/google-deepmind/mujoco_warp.git
cd mujoco_warp
uv sync --all-extras

To make sure everything is working:

uv run pytest -n 8

If you plan to write Warp kernels for MJWarp, please use the kernel_analyzer vscode plugin located in contrib/kernel_analyzer. Please see the README there for details on how to install it and use it. The same kernel analyzer will be run on any PR you open, so it's important to fix any issues it reports.

Compatibility

The following features are implemented:

Category Feature
Dynamics Forward, Inverse
Transmission All
Actuator All except PLUGIN
Geom All
Constraint All
Equality All
Integrator All except IMPLICIT
Cone All
Condim All
Solver All except PGS, noslip
Fluid Model All
Tendon Wrap All
Sensors All except PLUGIN
Flex All except flex-flex collisions, selfcollide, mjEQ_FLEXVERT, and mjEQ_FLEXSTRAIN
Mass matrix format Sparse and Dense
Jacobian format DENSE only (row-sparse, no islanding yet)

Differentiability via Warp is not currently available.

Viewing simulations

Explore MuJoCo Warp simulations using an interactive viewer:

mjwarp-viewer benchmarks/humanoid/humanoid.xml

This will open a window on your local machine that uses the MuJoCo native visualizer.

Batch Rendering

MJWarp includes a high-throughput GPU batch renderer designed for simultaneous rendering of cameras across many parallel simulation worlds. The renderer uses ray-tracing to render MuJoCo primitives using Warp's BVH API.

Key capabilities:

  • Mesh rendering
  • Texture support
  • Heightfield rendering
  • Flex deformable rendering
  • Heterogeneous multi-camera support (different resolutions/FOV/intrinsics for each camera)
  • Lighting and shadow support

Benchmarking

Benchmark as follows:

mjwarp-testspeed benchmarks/humanoid/humanoid.xml

To get a full trace of the physics steps (e.g. timings of the subcomponents) run the following:

mjwarp-testspeed benchmarks/humanoid/humanoid.xml --event_trace=True

mjwarp-testspeed has many configuration options, see mjwarp-testspeed --help for details.

Benchmark rendering with:

mjwarp-testspeed benchmarks/primitives.xml --function=render

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mujoco_warp-3.8.0.3.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mujoco_warp-3.8.0.3-py3-none-any.whl (2.0 MB view details)

Uploaded Python 3

File details

Details for the file mujoco_warp-3.8.0.3.tar.gz.

File metadata

  • Download URL: mujoco_warp-3.8.0.3.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for mujoco_warp-3.8.0.3.tar.gz
Algorithm Hash digest
SHA256 ca143a82f76b8df60984ca0d3c0f269a745886621cc2168beaa58e1d2c2358b8
MD5 0bb35e2509114d6f1fbeef2013ce4521
BLAKE2b-256 e5637dabf7f487c0946894a8ec85ea5d978c19e6b1afb6d6b6f63f457dff75ee

See more details on using hashes here.

File details

Details for the file mujoco_warp-3.8.0.3-py3-none-any.whl.

File metadata

  • Download URL: mujoco_warp-3.8.0.3-py3-none-any.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for mujoco_warp-3.8.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 dfbfa24e376e0b03bf6dcebaed7ef69b4885280a020e5f0fd805c125fae3d129
MD5 8d777a06d18c751a2f07a9a6787cd40a
BLAKE2b-256 82f530c736dfe87ad7e8f7a7f8f43b80e0ff43c6af46cef65ba95d3ba172129a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page