-
Notifications
You must be signed in to change notification settings - Fork 3.2k
Description
Context
We use the Newton SensorContact (from isaaclab_newton) for fingertip–hammer contact in a manipulation task. With ~1k envs things run fast; with 2k–4k envs step time grows much worse than linearly (e.g. 4k envs is far more than 4× slower than 1k). PhysX/open time stays fast; the slowdown appears when the contact sensor is active.
From the code path we see that every physics step runs:
NewtonManager:solver.update_contacts(eval_contacts, ...)and thensensor.eval(eval_contacts)for each contact sensor (newton_manager.pyaround the_report_contactsblock).
So the bottleneck is likely in that contact-reporting path (either update_contacts or Newton’s SensorContact.eval(contacts)), rather than in our observation/reward code.
Question
Is there planned work or ongoing development on the Isaac Lab dev/newton side to improve SensorContact(and/or Newton contact reporting) scaling for 2k–4k+ envs (e.g. better parallelism, fewer per-step costs, or optimizations in the Newton library)?
If there’s a known issue or design doc (e.g. on contact force reporting or SensorContact), a pointer would be very helpful. Thanks.