[Bf-blender-cvs] [4384a7cf463] master: Cycles: Fix CUDA split kernel

Sergey Sharybin noreply at git.blender.org
Tue May 2 15:07:50 CEST 2017


Commit: 4384a7cf463eedea83179da80bbe12ff7d55578a
Author: Sergey Sharybin
Date:   Tue May 2 15:03:51 2017 +0200
Branches: master
https://developer.blender.org/rB4384a7cf463eedea83179da80bbe12ff7d55578a

Cycles: Fix CUDA split kernel

Global size y needs to be a multiple of 16.

===================================================================

M	intern/cycles/device/device_cuda.cpp

===================================================================

diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp
index acfb3e1d8f4..a971170318e 100644
--- a/intern/cycles/device/device_cuda.cpp
+++ b/intern/cycles/device/device_cuda.cpp
@@ -1634,7 +1634,8 @@ int2 CUDASplitKernel::split_kernel_global_size(device_memory& kg, device_memory&
 	        << string_human_readable_size(free) << ").";
 
 	size_t num_elements = max_elements_for_max_buffer_size(kg, data, free / 2);
-	int2 global_size = make_int2(round_down((int)sqrt(num_elements), 32), (int)sqrt(num_elements));
+	size_t side = round_down((int)sqrt(num_elements), 32);
+	int2 global_size = make_int2(side, round_down(num_elements / side, 16));
 	VLOG(1) << "Global size: " << global_size << ".";
 	return global_size;
 }




More information about the Bf-blender-cvs mailing list