OpenCL compiler for AMD GPUs (cycles only)

The goal of this project is to remove the constant compilation of kernels, and to up the performance, probably surpassing similar spec GPUs from other vendors.

Progress:

  • 2020-10-06: string -> pp-tokens
  • 2020-10-18: lexer, parser, preprocessing

TODO:

  • validator
  • code generator
  • optimizations
17 Likes

The constant compilation of kernals has put me off considering AMD GPUs for Cycles and if you can bring more performance and even surpass nVidia this could be game changing.

I look forward to seeing your commits in due course.

:chess_pawn: nirved (blender.org)

That would be really important if you can do it. Good luck with the project!

Sounds very promising! Good luck.

Sounds great all the best with this project!

Awesome.
I wonder why that was mission impossible for developers hired by Blender Institute…

1 Like

money/time

It has been mission impossible for other renderers to support Metal without massive support from Apple. GPU programming is hard.

Life is hard.
Correct me if I’m wrong but Blender Institute is supported by AMD. It seems that they are paying for the work of the Blender OpenCL developers.

And?

Apple had to extend Metal for Redshift and currently kernel compilation is dog slow, oh yes, it’s not even released yet.

AMD is developing ProRender and that requires constant kernel compilation. You’ll have to ask Nirved what they are proposing to do that others haven’t been able to do. OpenCL has never been friendly to 3d renderers and even Apple starting again with Metal didn’t make it any easier.

I guess your informations about Metal are not up-to-date. OTOY developers did this. What’s more they claim Metal Octane X is ahead of CUDA version and they are waiting for updated Nvidia drivers to be able to create a CUDA version at the same level as Metal.

Interesting - do you have some links?

If I recall this right openCL in Luxcore just works after compiling the kernel once and done.
And with AMD ProRender I dont experience this either.

Can confirm LuxCore does compile kernels once.

Would be great using AMD GPUs. Rumours seem to point to them having more VRAM than the 3080. No point in having a fast GPU if the scene doesn’t fit in VRAM.

1 Like

“We actually have things in our Octane X today that aren’t in the CUDA version, there are some new memory features, some memory optimizations are already in the Metal version, One of the things that we’re going to add early next year is to bring both versions up to speed, and then you’ll actually have the ability to network those two together and mix and match CUDA and Metal cards, at least for network rendering, which will be interesting”

The elephant in the room is hardware ray tracing support.

Big Navi supports HW raytracing. OTOY claim they will add this to the Octane X when Apple will add HW RT support to Big Sur Metal drivers. However they are not sure performance or can’t talk about this at the moment.

So you confirm Metal is not on the same level of CUDA.

I’m not sure how it works in Octane however in Cycles CUDA does not support HW raytracing and Optix kernel lack some CUDA version features.

Good catch, I meant nVidia drivers as a whole in this case Optix.

I’m not attacking you, I have read OTOY’s fantastical claims for years. I’ll believe them when I see the evidence. My default position is to take everything OTOY says with a huge pinch of salt.

:joy: :joy: