You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It's not uncommon to see multithreaded narrow phase flush underperform single threaded narrow phase flush by a bit.
Other heavy stages that dominate in single thread, like the narrow phase itself and solving, scale well and can end up being faster than narrow phase flushing as a result.
Narrow phase flushing is extremely complicated right now, and even incremental changes are nightmarish. It would be nice to rip it apart in favor of a simpler version, if such a thing exists.
For nondeterministic case, you might be able to beat the status quo by just having a worker alongside the narrow phase execution that handles all the new constraints sequentially. Determinism would still require that all the constraint add/removes are known ahead of time to avoid order dependence.
This one's pretty tough, but fairly high value if you can find a way to reasonable scaling. In chaotic scenes on very wide machines, narrow phase flush can be the most expensive part of simulation.
The text was updated successfully, but these errors were encountered:
RossNordby
changed the title
Narrow phase flush multithreaded scaling is pretty bad
Narrow phase *flush* multithreaded scaling is pretty bad
Mar 11, 2022
It's not uncommon to see multithreaded narrow phase flush underperform single threaded narrow phase flush by a bit.
Other heavy stages that dominate in single thread, like the narrow phase itself and solving, scale well and can end up being faster than narrow phase flushing as a result.
Narrow phase flushing is extremely complicated right now, and even incremental changes are nightmarish. It would be nice to rip it apart in favor of a simpler version, if such a thing exists.
For nondeterministic case, you might be able to beat the status quo by just having a worker alongside the narrow phase execution that handles all the new constraints sequentially. Determinism would still require that all the constraint add/removes are known ahead of time to avoid order dependence.
This one's pretty tough, but fairly high value if you can find a way to reasonable scaling. In chaotic scenes on very wide machines, narrow phase flush can be the most expensive part of simulation.
The text was updated successfully, but these errors were encountered: