Blender Git Commit Log

Git Commits -> Revision e0716af

Revision e0716af by Sergey Sharybin (cycles-x)
May 21, 2021, 13:28 (GMT)
Cycles X: Align kernels of existing and new paths

Only enqueue new kernels when the existing wavefront is at the
intersect closest stage. This seems to positively affect on the
coherency, gaining performance:

```
new cycles-x(1) megakernel(2)
bmw27.blend 10.198 10.6995 10.4269
classroom.blend 16.7821 17.2352 16.6609
pabellon.blend 9.39898 9.65984 9.14966
monster.blend 10.5923 10.5799 12.0106
barbershop_interior.blend 11.777 11.8852 12.5769
junkshop.blend 16.085 16.2971 16.5213
pvt_flat.blend 16.5704 16.3189 17.4047

(1) cyclex-x branch hash ad81074fab1
(2) cyclex-x branch hash ef6ce4fa8ca (right before disabling megakernel)
```

While the pvt_flat (with adaptive sampling) is 1% slower, some
other scenes has performance gained almost all the way back in
comparison to the Cycles-X before megakernel removal.

Note that coherency is a hypothesis. Performance gain might also be
caused by less active paths array calculations.

Commit Details:

Full Hash: e0716af1a4f43bc3bf9238556dcd44d35e830ed9
Parent Commit: ad81074
Lines Changed: +32, -12

2 Modified Paths:

/intern/cycles/integrator/path_trace_work_gpu.cpp (+29, -12) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+3, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021