TGViewer
Нейролента Нейролента @nairolenta · 22 subscribers
Post #281 5
🛠 NVIDIA Warp и MJWarp: как запустить тысячи симуляций для обучения роботов

MJWarp (MuJoCo Warp) переносит физику MuJoCo на GPU через NVIDIA Warp: MJCF-модель компилируется в CUDA-ядра, состояние сцены раскладывается по массивам на устройстве, а один вызов mjw.step продвигает весь пакет параллельных миров. В материале Hugging Face разбирают перенос манипулятора SO-101 из обычного сценария MuJoCo на CPU в 2048 параллельных сред и отделяют пропускную способность от задержки. Для одного мира MJWarp не обязательно быстрее — преимущество появляется в суммарной пропускной способности, когда сотни миров достаточно загружают GPU, чтобы выросло общее число шагов моделирования в секунду.

Механика переноса компактна: MuJoCo загружает и компилирует MJCF, MJWarp реализует физику в NVIDIA Warp, а тот компилирует ядра на лету для CUDA. На уровне API меняются три вызова: mujoco.MjModel на mjw.put_model, mujoco.MjData на mjw.make_data или put_data, mujoco.mj_step на mjw.step. Дальше подбирают буферы: nworld — число сред, nconmax — ожидаемое число контактов на один мир, njmax — верхний предел ограничений. Запас «на всякий случай» увеличивает потребление памяти и работу решателя, поэтому размеры выбирают впритык.

Авторы задают управление с частотой 50 Гц и 10 физических подшагов на кадр — шаг физического моделирования 0,002 секунды, одинаковый для CPU и GPU, чтобы замеры не искажались. Успех операции захвата и перемещения проверяют не кодом завершения, а числами: горизонтальная ошибка центров кубов xy_err ≤ 0,015 м и вертикальный зазор 0,035–0,055 м. При проверке одного мира каждый вызов `.numpy()` синхронизирует состояние с хостом, поэтому это не замер производительности; для оценки пропускной способности шаги оставляют на GPU и используют графы CUDA для повторного использования буферов. Warp 1.15 добавляет необязательный детерминизм — по умолчанию атомарные операции GPU зависят от планировщика, и повторные запуски могут слегка различаться.

Прирост тут не в физике, а в экономике GPU: MJWarp выигрывает, только когда пакет миров достаточно плотный, а nconmax и njmax подобраны под конкретную сцену. Чужой MJCF с запасом по контактам легко съест преимущество из-за раздутых буферов решателя.

#NVIDIAWarp #MJWarp #MuJoCo #робототехника #симуляции
More from @nairolenta
  1. Sep 26, 2026🛠 ИИ-агент создаёт фильм на Canvas и рендерит его в MP4 Минутный фильм 1080p60 со звуком…
  2. Sep 26, 2026🧠 Больше рассуждений не значит лучше: стресс-тест агентов прогнозирования В бинарных зада…
  3. Sep 26, 2026🚀 PrismML показала локальную VLM для очков на Snapdragon AR1 На Qualcomm Snapdragon Summi…
  4. Sep 25, 2026🧠 От ELIZA к Transformer: как чаты учились диалогу В 1966 году ELIZA имитировала психотер…
  5. Sep 25, 2026🛠 Выбор модели для 2× DGX Spark: память и кэш префиксов Три свежие модели — DeepSeek-V4.1…
  6. Sep 24, 2026🛠 MCP не был плохой идеей — он решает совсем другую задачу Вопрос «MCP всегда был плохой…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →