[Bf-blender-cvs] [2cae58524c] master: Cycles: Improve memory usage of CPU split kernel by using smaller global size
Mai Lavelle
noreply at git.blender.org
Fri Mar 17 06:54:49 CET 2017
Commit: 2cae58524cccd9bea0c5b876c21bc8177bd23a43
Author: Mai Lavelle
Date: Fri Mar 17 01:31:11 2017 -0400
Branches: master
https://developer.blender.org/rB2cae58524cccd9bea0c5b876c21bc8177bd23a43
Cycles: Improve memory usage of CPU split kernel by using smaller global size
===================================================================
M intern/cycles/device/device_cpu.cpp
M intern/cycles/device/device_split_kernel.cpp
===================================================================
diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp
index 273c3b4893..2fc2745a3a 100644
--- a/intern/cycles/device/device_cpu.cpp
+++ b/intern/cycles/device/device_cpu.cpp
@@ -856,8 +856,7 @@ int2 CPUSplitKernel::split_kernel_local_size()
}
int2 CPUSplitKernel::split_kernel_global_size(device_memory& /*kg*/, device_memory& /*data*/, DeviceTask *task) {
- /* TODO(mai): this needs investigation but cpu gives incorrect render if global size doesnt match tile size */
- return task->requested_tile_size;
+ return make_int2(64, 1);
}
uint64_t CPUSplitKernel::state_buffer_size(device_memory& kernel_globals, device_memory& /*data*/, size_t num_threads) {
diff --git a/intern/cycles/device/device_split_kernel.cpp b/intern/cycles/device/device_split_kernel.cpp
index 8925ef47b2..7a4d8c419b 100644
--- a/intern/cycles/device/device_split_kernel.cpp
+++ b/intern/cycles/device/device_split_kernel.cpp
@@ -142,6 +142,7 @@ bool DeviceSplitKernel::path_trace(DeviceTask *task,
/* Number of elements in the global state buffer */
int num_global_elements = global_size[0] * global_size[1];
+ assert(num_global_elements % WORK_POOL_SIZE == 0);
/* Allocate all required global memory once. */
if(first_tile) {
More information about the Bf-blender-cvs
mailing list