[Bf-blender-cvs] [91b9db07248] master: Cycles: Change work pool and global size of split CPU for easier debugging
Mai Lavelle
noreply at git.blender.org
Fri Apr 7 12:06:28 CEST 2017
Commit: 91b9db07248c5b7061d8d0907629169e742002f7
Author: Mai Lavelle
Date: Thu Apr 6 05:08:35 2017 -0400
Branches: master
https://developer.blender.org/rB91b9db07248c5b7061d8d0907629169e742002f7
Cycles: Change work pool and global size of split CPU for easier debugging
===================================================================
M intern/cycles/device/device_cpu.cpp
M intern/cycles/device/device_split_kernel.cpp
M intern/cycles/kernel/kernel_types.h
===================================================================
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__
More information about the Bf-blender-cvs
mailing list