January 24, 2017, 12:27 (GMT) |
Cycles: Rework work stealing Previous implementation of work stealing didn't do what it claimed to do and made some odd assumptions. This new implementation is cleaner, organizes work in a slightly more optimal way, and most importantly decouples work from tile size, which will allow for greater speed ups. |
January 24, 2017, 12:27 (GMT) |
Cycles: Silence warning about redefined macro |
January 24, 2017, 12:27 (GMT) |
Cycles: Remove everything parallel samples from the split kernel Parallel samples never actually worked, was producing incorrect results or crashes, and wasn't any faster than work stealing, so removing it. |
January 20, 2017, 02:33 (GMT) |
Merge branch 'master' into cycles_split_kernel |
January 17, 2017, 01:45 (GMT) |
Cycles: Dont use array indexing for non array |
January 6, 2017, 03:00 (GMT) |
Cycles: Seperate kernel loading time from render time |
January 6, 2017, 03:00 (GMT) |
Cycles: More variable clean up |
January 6, 2017, 03:00 (GMT) |
Cycles: Clean up variables in host side split kernel logic Was a bit messy, lots of duplication, hard to tell what was what. |
December 29, 2016, 10:22 (GMT) |
Cycles: Fix building with network device enabled |
December 22, 2016, 02:13 (GMT) |
Cycles: Implement split kernel for CUDA Helpful to have another device to test against and check that the split kernel remains compatible with all devices. |
December 16, 2016, 10:03 (GMT) |
Cycles: Tile updates for split kernel Better feedback is given from tiles by updating while rendering, where as before tiles would only be displayed when fully complete. Rendering is a little slower from this, but there may be ways to reduce that effect at some point. |
December 16, 2016, 00:26 (GMT) |
Cycles: Add names to buffer allocations This is to help debug and track memory usage for generic buffers. We have similar for textures already since those require a name, but for buffers the name is only for debugging proposes. |
December 15, 2016, 23:01 (GMT) |
Merge branch 'master' into cycles_split_kernel |
December 13, 2016, 08:53 (GMT) |
Cycles: Add a bit more error checking for split kernel This helps catch some memory issues and avoids some crashes, but still need to figure out a way to handle this better. |
December 7, 2016, 10:23 (GMT) |
Merge branch 'master' into cycles_split_kernel |
December 7, 2016, 09:52 (GMT) |
Cycles: Keep consistent memory management style `unique_ptr` avoids some issues but we aren't using it anywhere else so to keep things consistent just using plain `delete` for now. |
December 7, 2016, 09:52 (GMT) |
Cycles: Make split kernel methods in Device private These methods shouldn't really be called from anywhere except `DeviceSplitKernel`. |
December 7, 2016, 08:26 (GMT) |
Cycles: Remove overloaded Device::mem_alloc function It was a bit confusing having two versions of this function, only one is needed really. Added `device_memory::resize()` to take over the behavior the overload provided. |
December 7, 2016, 03:21 (GMT) |
Cycles: Ensure we get a compiler error if data_init parameters fall out of sync Code isn't so pretty and the errors that we get if this does happen are kind of cryptic, but it's better than nothing. |
December 6, 2016, 07:57 (GMT) |
Cycles: Rename split_state and split_params Now these are `kernel_split_state` and `kernel_split_params`, as well as being references instead of pointers. This is to match `kernel_data`. |
|