Blender Git Commit Log

Git Commits -> Revision a6eae92

Revision a6eae92 by Sergey Sharybin (cycles-x)
July 2, 2021, 15:47 (GMT)
Cycles X: Multi-device re-balancing

This is an initial implementation which seems to give better
device utilization here when using two non-matched GPUs, as
well as multi-GPU and CPU.

General idea is to balance amount of work based on an
observed performance of devices, and "re-slice" the big tile.

Things which are known to be not final but considered a further
development:

- The balancing algorithm might need some tweaks for the
objective function and weight modification to converge to
the ideal balance quicker.

- The "re-slicing" might also be optimized memory-wise.

- Headless rendering needs to give few iterations of smaller
works to allow multi-device to settle down in the balance.

The balancing logic is in own little file, which simplifies
process of experiments.

Differential Revision: https://developer.blender.org/D11774

Commit Details:

Full Hash: a6eae9213f237650b289751df37e3e4b67360c31
Parent Commit: 2306948
Lines Changed: +140, -10

3 Modified Paths:

/intern/cycles/integrator/path_trace.cpp (+39, -6) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+5, -1) (Diff)
/intern/cycles/integrator/work_balancer.cpp (+96, -3) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021