Физический движок для GPU-симуляции на базе NVIDIA Warp, предназначенный для специалистов по робототехнике и исследователей симуляций.
NVIDIA/warp
Фреймворк для JIT-компиляции обычных Python-функций в ядра, работающие на CPU или GPU NVIDIA, для симуляций, робототехники и машинного обучения.
- Звёзды
- 7,273
- Форки
- 682
- Открытые issues
- 390
- Последний коммит
- 19 часов назад
Что это?
Warp преобразует обычные Python-функции в эффективный код ядер с помощью JIT-компиляции. Эти ядра работают на CPU или GPU. Фреймворк предназначен для ускоренных на GPU симуляций, робототехники, обработки геометрии и машинного обучения, а также включает примитивы для задач физики и геометрии.
Ядра Warp поддерживают дифференцирование, поэтому их можно использовать в конвейерах машинного обучения вместе с PyTorch, JAX и Paddle. Пакет распространяется через PyPI в виде wheel warp-lang; ускорение с помощью CUDA доступно в Windows и Linux x86-64, а сборки для macOS работают только на CPU.
В репозитории есть множество примеров: симуляция физических процессов, методы конечных элементов, дифференцируемая оптимизация и программирование GPU с использованием тайлов. Также доступны учебные ноутбуки, которые можно открыть в Colab.
Ключевые возможности
- 01Компилирует обычные Python-функции в ядра для CPU или GPU с CUDA.
- 02Ядра поддерживают дифференцирование и интегрируются с PyTorch, JAX и Paddle.
- 03Включает примитивы для симуляции физических процессов, обработки геометрии и робототехники.
- 04Устанавливается из PyPI как warp-lang; зависимости для примеров можно подключить дополнительно.
- 05В комплект входят примеры и учебные ноутбуки по симуляции и оптимизации.
Сценарии использования
- Запускать на GPU NVIDIA из Python масштабные симуляции частиц или жидкостей.
- Создавать дифференцируемые симуляторы и передавать градиенты в цикл обучения PyTorch или JAX.
- Обрабатывать геометрию, например выполнять raycasting по сеткам или извлекать изоповерхности в Python.
- Создавать прототипы GPU-ядер без ручного написания кода на CUDA C++.
Быстрый старт
- 1
Установите Warp из PyPI
pip install warp-lang - 2
Запустите пример симуляции гравитации из кода Quick Start (сохраните его в файл Python и запустите)
Что важно знать
- Для ускорения CUDA в Linux и Windows требуется видеокарта NVIDIA поколения Turing (sm_75) или новее и актуальный драйвер NVIDIA.
- Wheels для macOS работают только на CPU и не поддерживают ускорение Metal.
- Для сред CUDA 12 требуется отдельный wheel +cu12 или сборка из исходного кода.
В подборках
Темы
Частые вопросы
- Что такое warp?
- Фреймворк для JIT-компиляции обычных Python-функций в ядра, работающие на CPU или GPU NVIDIA, для симуляций, робототехники и машинного обучения. Warp преобразует обычные Python-функции в эффективный код ядер с помощью JIT-компиляции. Эти ядра работают на CPU или GPU. Фреймворк предназначен для ускоренных на GPU симуляций, робототехники, обработки геометрии и машинного обучения, а также включает примитивы для задач физики и геометрии.
- warp можно использовать бесплатно? Какая у него лицензия?
- warp распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- warp всё ещё поддерживается?
- Активно поддерживается. Последний коммит в warp — 5 нояб. 2026 г..
- Для чего можно использовать warp?
- Запускать на GPU NVIDIA из Python масштабные симуляции частиц или жидкостей. Создавать дифференцируемые симуляторы и передавать градиенты в цикл обучения PyTorch или JAX. Обрабатывать геометрию, например выполнять raycasting по сеткам или извлекать изоповерхности в Python. Создавать прототипы GPU-ядер без ручного написания кода на CUDA C++.
- Как установить warp?
- Установите Warp из PyPI: pip install warp-lang Запустите пример симуляции гравитации из кода Quick Start (сохраните его в файл Python и запустите)
- Где скачать warp?
- Исходный код и инструкции по установке — на GitHub: https://github.com/NVIDIA/warp
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Версия физического симулятора MuJoCo с ускорением на GPU, созданная на базе NVIDIA Warp для высокопроизводительного моделирования робототехники.
Физический движок на базе JAX для массово-параллельного дифференцируемого моделирования твёрдых тел на ускорителях в исследованиях робототехники и RL.
Симулятор квадрокоптеров на JAX для пакетного дифференцируемого моделирования дронов Crazyflie 2.x на CPU и GPU.
Открытые компоненты NVIDIA TensorRT — SDK для высокопроизводительного инференса моделей глубокого обучения на GPU NVIDIA: плагины, ONNX-парсер и примеры.
Открытая библиотека C++ для моделирования динамики многотельных систем — роботов, транспортных средств и скелетов.