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
When using prange() to parallelize a loop with a body that takes highly variable amounts of time per iteration, the scheduler will tend to leave some threads idle. This is because the iteration range is divided between the threads upfront to maximize chunk size. If the chunk size were smaller and fed into a work queue, it would allow better load balancing between the worker threads.
This is also likely something which becomes more efficient when we have TBB to do the thread dispatch.
When using
prange()
to parallelize a loop with a body that takes highly variable amounts of time per iteration, the scheduler will tend to leave some threads idle. This is because the iteration range is divided between the threads upfront to maximize chunk size. If the chunk size were smaller and fed into a work queue, it would allow better load balancing between the worker threads.This is also likely something which becomes more efficient when we have TBB to do the thread dispatch.
See email thread: https://groups.google.com/a/continuum.io/forum/#!msg/numba-users/ZDWRtE_U2Y8/S-SbZt6YBQAJ
The text was updated successfully, but these errors were encountered: