Page MenuHome

josh (joshr)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 4 2015, 10:58 PM (229 w, 1 d)

Recent Activity

May 22 2015

josh (joshr) added a comment to T40774: adaptive sampling v01.

Hi Patrick

May 22 2015, 12:58 PM · BF Blender, Cycles

May 12 2015

josh (joshr) added a comment to T44197: Cycles OpenCL kernel-splitting work.

An interesting post about working around this problem from:
http://devgurus.amd.com/message/1282921#1282921

May 12 2015, 4:21 PM · Cycles, BF Blender
josh (joshr) added a comment to T44197: Cycles OpenCL kernel-splitting work.

Yes all of those are able to use double precision, can anyone confirm a compiler bug on AMD hardware being unable to explicitly cast to single precision instead of double precision. That would explain this issue.

May 12 2015, 2:39 PM · Cycles, BF Blender
josh (joshr) added a comment to T44197: Cycles OpenCL kernel-splitting work.

My GPU lacks double precision compute units and that is what causes this error about insufficient resources

May 12 2015, 2:27 PM · Cycles, BF Blender

Apr 4 2015

josh (joshr) added a comment to D1200: Cycles OpenCL kernel-splitting work.

thanks for the comment. Hmm, if you split the kernel into a few (3-4) kernels because of svm_eval_nodes(), don't you end up needing to execute all of them anyway, because you have no guarantee that all the nodes you need will be in the same kernel?
For example, if you split into 3 kernels as follows: kernel 1 has cases ABC, kernel 2 cases DEF and kernel 3 cases GHI, then what happens if your shader requires nodes ADEG? You'll end up needing to go through all 3 kernels. (is that what you mean by splitting?)

I meant one kernel that has ABC, one that has ABCDEF, and one that has ABCDEFGHI, where GHI would be the nodes that requires the most registers, etc.
I was thinking that if the number of possible kernels that ever need to be compiled is some reasonable fixed number, then they could all be compiled and cache once, so compile time is not as a big a concern. But thinking about it more, there's probably other #defines influencing the SVM nodes too, so the number may be too big to cache it all beforehand.

Once we get a better idea of what kernels are most commonly used, we could cache those upfront, or at install time. You still run the issue of adding a new card (or moving your disk to a new machine), and not having the cached files you compiled previously, though.
Actually, we were thinking of adding hair and transparent shadows as a compile parameter. We still haven't evaluated the performance impact of those features when they are not used in the shader. It becomes interesting once the impact is big.

Apr 4 2015, 11:02 PM · Cycles