LuxCore icon indicating copy to clipboard operation
LuxCore copied to clipboard

Add support for GPU rendering with other APIs: Vulkan, Metal, SYCL, ...

Open Navi-Professor opened this issue 5 years ago • 16 comments

Hello. With the current, buggy OpenCl implementation, over to Vulkan The goal of this being replace the current OpenCl implementation with a more stable (and more importantly, modern, code base) Further, this is to protect AMD cards within luxcore to keep the engine non-platform exclusive.

Navi-Professor avatar Aug 15 '20 23:08 Navi-Professor

This request doesn't make any sense, AMD ROCm a framework (aka a marketing slogan) for the support of the following programming-language choices:

  • OpenMP
  • HIP
  • OpenCL
  • Python

We already support OpenCL. Just read AMD ROCm web page: https://www.amd.com/en/graphics/servers-solutions-rocm-hpc

Are you also aware the ROCm is supported only on Linux ?

And that it does work only with very few AMD GPUs ? Check: https://github.com/RadeonOpenCompute/ROCm#Hardware-and-Software-Support

Short version: if you want to use ROCm, just install AMD ROCm drivers (i.e. ROCm OpenCL drivers) and run LuxCore using OpenCL devices.

P.S. I close this issue so you can claim the bounty for your self and get back your money.

Dade916 avatar Aug 16 '20 11:08 Dade916

Alright, if that wont work, what about re-opening this with Vulkan?

Navi-Professor avatar Aug 16 '20 11:08 Navi-Professor

Alright, if that wont work, what about re-opening this with Vulkan?

Vulkan is a far more interesting and useful possibility. I see Vulkan as a future replacement for OpenCL.

P.S. you are assuming Vulkan AMD drivers work fine, may be or may be not, it is unknown.

Dade916 avatar Aug 16 '20 11:08 Dade916

Alright, i can edit this for vulkan, and have this bounty re-opened, that work?

Navi-Professor avatar Aug 16 '20 11:08 Navi-Professor

Yes, it should. If you are not the only backer of the bounty, the other one may not agree with the change of "target" but it will be up to them to speak. And given that the first target wasn't making sense, I assume they will agree.

Dade916 avatar Aug 16 '20 11:08 Dade916

alright, ive edited it but i'll wait for the response from the other contributor

Navi-Professor avatar Aug 16 '20 12:08 Navi-Professor

Yes, I support the change to from Rocm to Vulkan at Dade's recommendation.

betstick avatar Aug 16 '20 18:08 betstick

Yes, it should. If you are not the only backer of the bounty, the other one may not agree with the change of "target" but it will be up to them to speak. And given that the first target wasn't making sense, I assume they will agree.

You have tje green light to open this back up

Navi-Professor avatar Aug 16 '20 18:08 Navi-Professor

Note: it is about adding Vulkan support (like OpenCL and CUDA), not replacing OpenCL with Vulkan.

I'm also going to wait for the release AMD ray tracing capable GPUs (and may be Intel), Vulkan has a ray tracing acceleration extension and I assume it will be supported by AMD Vulkan ... but better safe than sorry.

Dade916 avatar Aug 16 '20 20:08 Dade916

I should transfer this issue to LuxCore repository but I'm hesitant because it could mess with BountySource; I will leave it here for the moment.

Dade916 avatar Aug 16 '20 20:08 Dade916

Hello @Dade916, it looks like the Vulkan implementation could help everyone who is suffering from OCL problems and driver issues. My recent issue with OCL in Luxcore after upgrading OS makes GPU rendering impossible on my computer: https://github.com/LuxCoreRender/LuxCore/issues/468#issuecomment-726884400

The only solution is to make a Vulkan and MoltenVK version of LuxCore for AMD and MacOS users. The Bounty backing is finished so there is a question - is there any hope we will see a Vulkan version of LuxCore soon?

thebuza avatar Nov 13 '20 17:11 thebuza

@Dade916 hey if you need any testing with a RDNA 2 gpu for this, you can hit me up, i own a 6900xt now.

Navi-Professor avatar Jan 09 '21 03:01 Navi-Professor

A am too on a 6900XT now after the 2080ti bit the dust.

Had multiple Driver Crashes with LuxCore in Blender.

I can also test if nessassary.

NightHammer1000 avatar Apr 17 '21 12:04 NightHammer1000

there is also (experimental, not fast) vulkan ray tracing support for older AMD cards:

'This PR implements ray-tracing for older generations (Navi, Vega, Polaris, etc.)'

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12974

Randrianasulu avatar Sep 25 '21 04:09 Randrianasulu

Transferred issue from the BlendLuxCore repository, original concern with BountySource no longer applies.

CodeFHD avatar May 02 '25 09:05 CodeFHD

Note following a discussion with developers form Intel at BCON: They suggest looking also into SYCL as another option. Apparently, there are indications that it could be useful for (Windows) ARM in the future.

I also edited the title to reflect a general need for other APIs, specifically Metal for macOS support.

CodeFHD avatar Sep 27 '25 15:09 CodeFHD