Introduction
Newton is an open-source GPU-accelerated physics simulation engine purpose-built for robotics and simulation research. Built on NVIDIA Warp, it provides differentiable and parallelizable rigid body dynamics, enabling researchers to run thousands of simulation instances simultaneously on a single GPU. Newton bridges the gap between lightweight CPU simulators and heavy commercial platforms.
What Newton Does
- Simulates rigid body dynamics with GPU acceleration via NVIDIA Warp kernels
- Supports massively parallel environments for high-throughput RL training
- Provides differentiable physics for gradient-based trajectory optimization
- Loads robot models from URDF and MJCF description files
- Enables rapid prototyping of robotics tasks with a clean Python API
Architecture Overview
Newton uses NVIDIA Warp as its computational backend, compiling Python physics kernels to CUDA for GPU execution. The engine maintains simulation state as Warp arrays on GPU memory, running contact detection, constraint solving, and integration entirely on the device. Differentiability is achieved through Warp's automatic differentiation of the simulation graph, allowing gradients to flow through physics steps for optimization.
Self-Hosting & Configuration
- Install via pip install newton-sim with NVIDIA Warp as a dependency
- Requires an NVIDIA GPU with CUDA support
- Define simulation scenes programmatically using the Python API
- Configure solver parameters, timestep, and gravity through scene settings
- Import robot models in URDF or MJCF format for articulated body simulation
Key Features
- Full GPU acceleration with no CPU-GPU data transfer during simulation
- Differentiable physics pipeline for gradient-based optimization and learning
- Parallel simulation of thousands of environments on a single GPU
- Clean Pythonic API designed for rapid experimentation
- Built on NVIDIA Warp for reliable CUDA kernel compilation and execution
Comparison with Similar Tools
- MuJoCo / MJX — MJX offers JAX-based GPU parallelism; Newton uses NVIDIA Warp for tighter CUDA integration
- IsaacLab — full-featured framework with rendering and task infrastructure; Newton is a lighter, standalone physics engine
- Brax — JAX differentiable physics with simpler contact models; Newton provides more detailed contact simulation via Warp
- Bullet Physics — mature CPU-based engine; Newton is GPU-native with differentiable simulation from the ground up
FAQ
Q: Do I need an NVIDIA GPU? A: Yes. Newton relies on NVIDIA Warp for GPU-accelerated simulation, requiring a CUDA-capable NVIDIA GPU.
Q: Is Newton differentiable? A: Yes. Newton's physics pipeline is differentiable through NVIDIA Warp's automatic differentiation, enabling gradient-based optimization of trajectories and control policies.
Q: How does Newton compare to MuJoCo for RL? A: Newton provides native GPU parallelism and differentiability. MuJoCo has a larger ecosystem and more benchmark environments. Choose based on whether you need GPU-native differentiable physics or broad RL library compatibility.
Q: Can I use Newton for real-time applications? A: Newton is designed for batch simulation and research workloads. For real-time single-environment simulation, MuJoCo or Bullet may be more appropriate.