Cycles-X

I don’t think i can get any GPU right now no matter the brand :smiley:

1 Like

I’m going to jump in here and clear up a few things. (Source: I know things).

With the move to cycles x the blender developers wanted to move the rendering kernel to a single unified code base. This wasn’t exactly the case before with opencl in that the kernel was a bit bifurcated (split) from what ran on cpu and cuda.

Basically what they wanted was to make one set of c++ code they could use as a kernel to render on multiple devices cuda, cpu, metal hip etc. the reasons for having one unified kernel code should be fairly obvious in terms of maintaining parity.

If you take a look at the hip code commit it’s all mostly on the device side. I e the code that tells the gpu how to get data for rendering and what to run. The actual code that gets run on the gpu aka the kernel is mostly the same. It gets run through a hip compiler but that’s it.

Long story short it’s a bit weird to ask amd to make a way to compile code to other gpus (hip maps some common cuda things to an equivalent on amd) but we know nothing about how this would map to intel. Hip does allow you to unify cuda and hip calls but we don’t know how those get executed on nvidia.

Also of note. If other platforms intel, metal can compile c++ code to run on their device they should be able to compile those same kernels. Ideally something like opencl with c++ kernel language support would make it so that all this could be unified to one thing but we’re not there yet and not sure we ever will be.

Brian.
Ps for specific questions about hip support for testing Linux users could turn on the compiler flags and compile themselves if they install hip and we’ll be announcing availability for a windows driver sometime soon. (I don’t control marketing)

8 Likes

I think we can both agree on that! Thank god for cycles-X, I certainly couldn’t afford hardware that would double my rendering speed, so getting it in software is a blessing.

Thanks for the insight, i had always assumed this is how it was done before but i guess not, that explains why OpenCL was difficult to maintain. Does this mean that support for different gpu hardware is potentially going to be easier to implement and maintain in the future? Like if Intel decided to sponsor a dev to work on getting their stuff working with SYCL (or whatever will be the most suitable API) then it’s not going to be such a nightmare the way it has been OpenCL all these years.

Yes, IF they can compile and execute cycles’ c++ kernels on their GPUs. I don’t know enough about SYCL to say either way, but I assume so.

2 Likes