RhinoCycles 2015, Week 20 | OpenCL for AMD GPUs

Hi,

Today I merged the AMD split kernel work that Cycles master has to my own repository (and along with that a whole slew of fixes and improvements for Cycles in general). From the next Rhino WIP build on it should be possible to render on many AMD GPUs.

Note that the OpenCL work is still work in progress, not everything works yet, but the devs responsible for this work have it on their todo list to enable everything eventually.

I’ve posted a short screencast of it in action here (and it shows that in OpenCL transparent shadows don’t work yet):

Enjoy and happy rendering,

/Nathan

2 Likes

Interesting, but the OpenCL is much slower, is that due to the GPU or is CUDA faster?
Or asked differently: If you set the 760 to render in OpenCL, would it be slower than in CUDA?

Most likely. My understanding is that OpenCL on NVidia devices is crippled. That said, I do think the R9 270x performance was less than I expected. I’ll have to do comparison tests with Blender Cycles on the same device with similar scenes and shaders to see whether it is the GPU or perhaps my version of Cycles - I may have missed build settings. I’ll be reporting on any changes here for sure.

You can follow development discussion on this particular code here: #44197 - Cycles OpenCL kernel-splitting work - blender - Blender Projects (linking from the post I made reporting kernel compile error on my Devastator device).

/Nathan

1 Like

I couldn’t get the GTX 760 to compile the OCL kernel (or I was just too impatient perhaps?), but I did some comparison with the APU as CPU device and APU as OpenCL device. CPU is faster. This is probably also because for CPU different BVH for intersection finding is used, which should be a bit more optimised.

Anyway, the OpenCL stuff is still work in progress, so I’m sure we’ll see improvements here.

/Nathan

1 Like

Hi @nathanletwory,

i´ve tried to enable OpenCL Device and waited approx. 1 hour for the kernels but they did not compile so i quit. Anything i could check ? Driver version is 14.9 (14.301.1001-140915a-176154C)

c.

Hi @nathanletwory, any news about the kernel compilation ?

c.

Nathan is on summer holiday for a few weeks…

@bobmcneel thanks and happy holidays !

c.

Hi @clement. I’m back from my vacation - my very first in which I didn’t even touch my computer (since I started professionally working on code in 2001).

Anyway. Lots have happened also on Cycles and AMD side in the three weeks that I’ve been absent, among others some AMD driver fixes that probably will be ported to Windows as well, which should make compiling Cycles rendering kernels even better.

I’ll be working on polishing existing C[CS]?ycles code base and updating it to the latest and greatest of Cycles master. The latter should take a day or two to properly complete and test. You can follow the C[CS]?ycles project page to see the lower level progress. Once that is complete I can merge that to RhinoCycles.

That all said it still needs BETA drivers to properly compile, so it is still a bit out for the normal users. It looks though like AMD is seriously working on having Cycles work well with their technology, even cross-platform.

Cheers,

/Nathan

Thank you @nathanletwory and sorry for the late reply. Blender Cycles is making some heavy progress using AMD OpenCL, atm it works using standart drivers and the GPU compute is enabled by default. I will let you know if i get anything done when it ever compiles.

I´ve repeated my last tests without success using the 15.7 drivers on Rhino wip (6.0.15209.10391, 28.07.2015).

c.

I think I have an idea why it doesn’t properly work yet with Rhino WIP other than on my machine. I’ll try to have that fixed today.

/Nathan

1 Like