Steel: Scaling Simulation Across Robots, Tasks, and Worlds
Together with NVIDIA, we're introducing Steel (Scalable Throughput-optimized Engine for Embodied Learning), a GPU-accelerated rigid-body dynamics solver for the open-source Newton Physics Engine to accelerate robot learning in NVIDIA Isaac Lab. Across 20 robot-learning benchmarks in our measured configurations, Steel delivers 3.8× PhysX's simulation throughput on geometric mean, with each engine at its best measured batch size, and is faster on 19 of the 20 tasks. On heterogeneous batches combining different robot tasks, the advantage reaches 13.0× PhysX's peak measured throughput.
Steel goes beyond homogeneous workloads - it is designed to efficiently simulate different robots, tasks, and physical worlds together.
reuse_kinematics=True, which is opt-in in Newton 1.8.Try it in your browser. steel-webgpu is a WebGPU implementation of Steel's solver. The scenes below run on your own GPU, right in this page: pick one, pull objects around and change the solver settings while it runs.
Simulated live in your browser by steel-webgpu; nothing here is a recording. Open the full demo page
1. From Scaling Simulation to Scaling Diversity
GPU simulation has transformed reinforcement learning for locomotion and whole-body control. Thousands of copies of the same robot can practice in parallel, with domain randomization over terrain, dynamics, and disturbances helping policies transfer to real hardware. Skild's physical self-play shows how far scalable interactive learning in simulation can go.
Manipulation presents a different challenge. A seemingly simple instruction like "clean the table" can require an entirely different sequence of actions as objects, layouts, or constraints change. More broadly, manipulation spans everything from assembly and tool use to dexterous grasps and long-horizon combinations of skills. Different tasks also favor different hardware: a parallel gripper, dexterous hand, and humanoid each bring different capabilities. Scaling general-purpose robot learning therefore means scaling experience across both diverse tasks and diverse embodiments.
That breadth creates two demands on simulation. Individual scenes must handle more interacting bodies, articulated mechanisms, and changing contacts; batches must simultaneously accommodate increasingly different scenes and robot structures. Yet many GPU simulation architectures are most efficient when they replicate one structured workload thousands of times. Dense articulation factorizations grow expensive as robots become more complex, while padded representations waste work and memory when environments differ substantially.
Steel was built for this combination of complexity within environments and heterogeneity across them.
2. Built for Heterogeneity
A robot arm reaching in free space, a dexterous hand reorienting a cube, and a manipulator working through a cluttered bin have different numbers of joints, constraints, and active contacts. Even a single scene's workload changes from step to step as contacts appear and disappear. Treating all three as though they require the same amount of computation leaves much of the GPU's work poorly allocated.
Steel organizes dynamics and constraints per environment, groups articulations with similar joint counts for efficient GPU execution, and routes contact-solving work according to each environment's current demands. Grouping articulations and routing work per environment reduces padding and unnecessary solve work in heterogeneous batches.
Under the hood, Steel combines reduced-coordinate articulation dynamics with projected Gauss-Seidel constraint solving. It reuses the factorization of each articulation's joint-space mass matrix across its contacts, without constructing a dense matrix of pairwise constraint interactions. Together, these design choices let one solver handle workloads with widely different articulation and contact structures efficiently.
3. Performance at Scale
All numbers in this section are simulation-only throughput on one NVIDIA RTX PRO 6000 Blackwell GPU, with each engine at its best measured batch size unless noted.
The most distinctive result appears when those workloads are mixed. We evaluated batches combining 5, 10, 15, and 20 different task types, including humanoids, quadrupeds, arms, and dexterous hands. Across those mixtures, Steel achieved 9.2× to 13.0× PhysX's peak measured throughput, with each engine evaluated at its own best batch size.
For the 20-task mixture, Steel reached 3.90 million environment steps per second at 245,760 environments, compared with 300,000 for PhysX at 61,440 environments. At the matched batch size of 61,440 environments, Steel ran at 3.61 million environment steps per second, 12.0× PhysX's 300,000, and used about 62% less GPU memory (approximately 11 versus 29 GiB).
Peak-throughput table by task mixture
| Task types | Steel (env-steps/s) | PhysX (env-steps/s) | Peak-throughput ratio |
|---|---|---|---|
| 5 | 5.83M @ 61,440 | 632K @ 15,360 | 9.2× |
| 10 | 4.95M @ 122,880 | 474K @ 61,440 | 10.4× |
| 15 | 3.82M @ 122,880 | 306K @ 61,440 | 12.5× |
| 20 | 3.90M @ 245,760 | 300K @ 61,440 | 13.0× |
The benefit isn't limited to heterogeneous batches. Across 20 single-task benchmarks, Steel was faster than PhysX on 19 of the 20 tasks, with 3.8× geometric-mean throughput. On the same 20 tasks, Steel achieved approximately 1.3× MuJoCo Warp's throughput. The gains cover locomotion, classic control, articulation-heavy manipulation, and contact-rich workloads: on the 23-joint Kuka–Allegro lift task, for example, Steel reached 6.7× PhysX's throughput and approximately 1.8× MuJoCo Warp's.
Detailed throughput by task
4. Built into Newton, Open to Everyone
Steel is developed directly within Newton and is intended to integrate with NVIDIA Isaac Lab, an open-source, modular framework for training and refining robot policies. It shares Newton's model representation and collision infrastructure rather than requiring researchers to adopt a separate physics stack. That matters as tasks move beyond rigid objects on empty tables to cloth, cables, soft bodies, granular materials, and other coupled physical interactions.
Rigid–deformable coupling
A Franka picks up a VBD cable and places it on its target, with Steel as the rigid side of Newton's coupled solver.
Manipulation on cloth
A Franka lifts a block off a sagging cloth hammock and places it on a table.
Rigid bodies on granular material
A stack of six boxes drops onto implicit MPM sand and comes to rest.
Compliant and hydroelastic contact
A Panda grasps a pen with hydroelastic contact and drops it into a cup, with the whole step inside a single captured CUDA graph.
More Newton examples
Rigid on soft bodies
A rigid sphere dents a VBD soft-body beam and rolls off it. Shown at quarter speed.
Differentiable simulation
An opt-in differentiable step lets Newton's tape backpropagate through Steel. Here Newton's drone example uses those gradients for model-predictive control, tracking a sequence of targets.
ExperimentalGradients through contact
Optimizing a ball's launch velocity by differentiating through Steel with an experimental smooth contact model: the throws converge from a wide miss onto the target over the optimization. Recent throws stay on screen as fading paths.
ExperimentalSleeping and islands
Settled groups of bodies fall asleep as separate islands (blue), and Steel skips most of their solve work. A thrown block wakes only the tower it hits; its neighbours stay asleep and do not move.
We're contributing Steel to the open-source Newton ecosystem so researchers can inspect, reproduce, extend, and improve it. Steel is available in Newton as newton.solvers.SolverSteel.
Get started: Steel on GitHub · Newton on GitHub · Isaac Lab
5. Scaling the Diversity of Robot Experience
The broader goal is not simply to make existing physics workloads faster. In our work on S1, we have seen robot capabilities improve as we scale pretraining experience. For increasingly general policies, however, what that experience covers matters alongside how much of it we collect. Different tasks require different interactions, and different embodiments offer different ways to solve them. As explored in our omni-bodied work, we want a shared robot intelligence that can learn across that breadth rather than treating every body as an isolated problem.
Real-world data remains essential for grounding policies and validating transfer, but physical collection is expensive and difficult to scale across every possible task and recovery scenario. Simulation offers repeatable, on-policy exploration, including alternative actions from the same starting state, failures, and recoveries. Steel addresses one piece of making that approach practical: the cost of simulating increasingly diverse tasks and robot embodiments together.
Hardware proximity
Diversity
Scalability
Robot teleop
Hardware proximity
Diversity
Scalability
UMI
Hardware proximity
Diversity
Scalability
Egocentric video
Hardware proximity
Diversity
Scalability
Simulation
Hardware proximity
Diversity
Scalability
Simulation with SteelGoal
Hardware proximity
Diversity
Scalability

The next step is to learn what happens when the diversity of simulated experience scales alongside its volume. Steel gives us a faster foundation on which to explore that question.
Measurement notes
All throughput numbers refer to simulation, not end-to-end policy-training speed, on one NVIDIA RTX PRO 6000 Blackwell GPU per run. The heterogeneous benchmarks mix 5, 10, 15, or 20 task types; the 9.2×–13.0× ratios compare the best measured batch size for each engine. The 12.0× throughput and 62%-less-memory callouts are matched comparisons at 61,440 environments with 20 task types. In the single-task suite, throughput counts physics stepping only, timed at the host-return boundary: it excludes observations, rewards, and resets and synchronizes the device per step.
- Heterogeneous benchmark (Figure 3): Steel on the Newton release-1.8 candidate
01ea1293with joint velocity limits on, soreuse_kinematicsis not active; PhysX from Isaac Sim 6.1.0.0 (omni.physx 110.3.2) run natively; all measured November 8 and 9, 2026, each engine at its best measured batch size. Manipulation-first task order, one 5 ms physics step per environment step, small noisy hold-position targets, no policy, domain randomization or cameras, CUDA graphs on. PhysX from Isaac Sim 6.0.0.0 ran these mixtures up to about 2.7× faster than 6.1, a difference in the PhysX runtime alone; we compare against 6.1, the current release. - Single-task suite (Figures 1 and 4): Steel on the Newton release-1.8 candidate
01ea1293withreuse_kinematics=True, which is opt-in in Newton 1.8; MuJoCo Warp 3.17; PhysX from Isaac Sim 6.1.0 run natively; all measured November 7, 2026. Geometric means over 20 tasks, each engine at its best measured batch size, with batch sweeps up to 524,288 environments.
