diff options
author | Mai Lavelle <mai.lavelle@gmail.com> | 2017-04-06 12:08:35 +0300 |
---|---|---|
committer | Mai Lavelle <mai.lavelle@gmail.com> | 2017-04-07 13:06:08 +0300 |
commit | 91b9db07248c5b7061d8d0907629169e742002f7 (patch) | |
tree | e2d3882bd6b7a748e9de23f3f1690cf75cc3451f /intern | |
parent | 8f85ee2fc920c1ad82b5d465302bdfc3e5790b23 (diff) |
Cycles: Change work pool and global size of split CPU for easier debugging
Diffstat (limited to 'intern')
-rw-r--r-- | intern/cycles/device/device_cpu.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/device/device_split_kernel.cpp | 3 | ||||
-rw-r--r-- | intern/cycles/kernel/kernel_types.h | 8 |
3 files changed, 10 insertions, 3 deletions
diff --git a/intern/cycles/device/device_cpu.cpp b/intern/cycles/device/device_cpu.cpp index 2761d9488ca..3c481bb2b39 100644 --- a/intern/cycles/device/device_cpu.cpp +++ b/intern/cycles/device/device_cpu.cpp @@ -856,7 +856,7 @@ int2 CPUSplitKernel::split_kernel_local_size() } int2 CPUSplitKernel::split_kernel_global_size(device_memory& /*kg*/, device_memory& /*data*/, DeviceTask * /*task*/) { - return make_int2(64, 1); + return make_int2(1, 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 30e7a58281c..fa641161c05 100644 --- a/intern/cycles/device/device_split_kernel.cpp +++ b/intern/cycles/device/device_split_kernel.cpp @@ -151,7 +151,8 @@ bool DeviceSplitKernel::path_trace(DeviceTask *task, /* Calculate max groups */ /* Denotes the maximum work groups possible w.r.t. current requested tile size. */ - unsigned int max_work_groups = num_global_elements / WORK_POOL_SIZE + 1; + unsigned int work_pool_size = (device->info.type == DEVICE_CPU) ? WORK_POOL_SIZE_CPU : WORK_POOL_SIZE_GPU; + unsigned int max_work_groups = num_global_elements / work_pool_size + 1; /* Allocate work_pool_wgs memory. */ work_pool_wgs.resize(max_work_groups * sizeof(unsigned int)); diff --git a/intern/cycles/kernel/kernel_types.h b/intern/cycles/kernel/kernel_types.h index 19c91248922..623f3728c69 100644 --- a/intern/cycles/kernel/kernel_types.h +++ b/intern/cycles/kernel/kernel_types.h @@ -56,7 +56,13 @@ CCL_NAMESPACE_BEGIN #define VOLUME_STACK_SIZE 16 -#define WORK_POOL_SIZE 64 +#define WORK_POOL_SIZE_GPU 64 +#define WORK_POOL_SIZE_CPU 1 +#ifdef __KERNEL_GPU__ +# define WORK_POOL_SIZE WORK_POOL_SIZE_GPU +#else +# define WORK_POOL_SIZE WORK_POOL_SIZE_CPU +#endif /* device capabilities */ #ifdef __KERNEL_CPU__ |