Add support for GPU rendering with other APIs: Vulkan, Metal, SYCL, ...
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.
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.
Alright, if that wont work, what about re-opening this with Vulkan?
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.
Alright, i can edit this for vulkan, and have this bounty re-opened, that work?
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.
alright, ive edited it but i'll wait for the response from the other contributor
Yes, I support the change to from Rocm to Vulkan at Dade's recommendation.
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
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.
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.
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?
@Dade916 hey if you need any testing with a RDNA 2 gpu for this, you can hit me up, i own a 6900xt now.
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.
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
Transferred issue from the BlendLuxCore repository, original concern with BountySource no longer applies.
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.