<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Hi Martijn,
<div><br>
</div>
<div>yes, it's similar to the approach described in that paper. &nbsp;I agree that trying something first will show us what potential exists.</div>
<div><br>
</div>
<div>Thanks for the pointer on <a href="http://developer.blender.org">developer.blender.org</a>. &nbsp;We'll take a look.</div>
<div><br>
</div>
<div>George</div>
<div><br>
<div>
<div>On Oct 27, 2014, at 4:43 PM, Martijn Berger wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div dir="ltr">
<div>
<div>
<div>
<div>
<div>Hi George,<br>
<br>
</div>
First, welcome again and I must say I am very happy that you want to do this.<br>
<br>
</div>
I assume your approach will be mostly in line with the split as suggested in the &quot;<span class=""><em>Megakernels Considered Harmful</em>: Wavefront Path Tracing on GPUs</span>&quot; paper. I am not sure how well this will map unaltered on our shading approach but
 that is something that only trying it will actually answer.<br>
</div>
I also want to draw you attention to our <a href="http://developer.blender.org/">
developer.blender.org</a> site as it allows you to publish and maintain your own set of changes in a so called &quot;differential&quot;. it is a very convenient way to publish a stack of patches for code review.<br>
<br>
</div>
best regards,<br>
<br>
</div>
Martijn Berger<br>
<div>
<div><br>
</div>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Mon, Oct 27, 2014 at 9:34 PM, Kyriazis, George <span dir="ltr">
&lt;<a href="mailto:George.Kyriazis@amd.com" target="_blank">George.Kyriazis@amd.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Greetings bf-cycles,<br>
<br>
I work for AMD, and we have been thinking about working in the OpenCL kernel (read: have started working on it).&nbsp; It is, I presume, a well-known fact that the OpenCL implementation has &quot;issues&quot; on AMD.<br>
<br>
Our current approach is to split up the OpenCL kernel into multiple (smaller) kernels, in order to get better utilization of the GPU.&nbsp; I've had brief discussions with Martijn, Brecht and Ton, and they all seem eager to finally &quot;fix&quot; (for a lack of a better
 term)&nbsp; OpenCL, which is a good sign.<br>
<br>
Technical details have not been discussed yet, but an open forum like bf-cycles is a better place for that.<br>
<br>
As a starter point of discussion, I'd like to comment about the main motivation of the kernel split.&nbsp; As it is well known, the AMD OpenCL implementation has some problems compiling the current OpenCL kernel.&nbsp; This has been mainly attributed to the length of
 the kernel, and problems with register allocation.&nbsp; Although the above is correct, those causes fail to address the main issue, which is the fact that a huge kernel (like cycles) that is a straight-forward port of CPU code, does have a lot of code divergence.&nbsp;
 Code divergence causes a lot of workitems go idle during kernel execution, which is not a good thing.<br>
<br>
Splitting the kernel allows for each (sub)-kernel to have better GPU utilization, and hence better performance.&nbsp; As a side-effect, it decreases the size of each kernel, and makes things easier for the register allocator.&nbsp; So, the current problems that the AMD
 OpenCL implementation has will not express themselves in a split kernel.&nbsp; Our current thought is to have those individual kernels communicate via queues.<br>
<br>
Any questions / comments / etc. about our approach is welcome, of course.<br>
<br>
Appreciated,<br>
<br>
George Kyriazis<br>
<br>
_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-cycles" target="_blank">http://lists.blender.org/mailman/listinfo/bf-cycles</a><br>
</blockquote>
</div>
<br>
</div>
_______________________________________________<br>
Bf-cycles mailing list<br>
<a href="mailto:Bf-cycles@blender.org">Bf-cycles@blender.org</a><br>
http://lists.blender.org/mailman/listinfo/bf-cycles<br>
</blockquote>
</div>
<br>
</div>
</body>
</html>