Skip to content

[Question] Newton SensorContact scaling: planned improvements for many envs? #5018

@jkkim-irim

Description

@jkkim-irim

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 then sensor.eval(eval_contacts) for each contact sensor (newton_manager.py around the _report_contacts block).

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions