Page 3 of 3

Re: Faster Compiling kernels

Posted: Sat May 01, 2021 8:05 pm
by Sharlybg
Continuum wrote:
Sat May 01, 2021 7:11 pm
Dade wrote:
Sat May 01, 2021 6:41 pm
You are talking of OpenCL v3.0 like if it is something new: it isn't, it is OpenCL v1.2. Plain nothing has changed. Still everything stuck to OpenCL v1.2 (now known as v3.0).
Not completely true, if you go through the driver release notes, it's show features beyond v1.2 have been included, including experimental features from v2.0. Link below.

https://us.download.nvidia.com/Windows/ ... -notes.pdf
If all that ""new features"" change something so why is Cycles X postpone Opencl support.
If him one of the best in opencl programming don't see any benefit i think it should be considered more than twice.

But anyway I am the least to say something here.
Don't see what AMD have to give against Nvidia rtx optix Performance.

Re: Faster Compiling kernels

Posted: Sat May 01, 2021 8:36 pm
by Continuum
Sharlybg wrote:
Sat May 01, 2021 8:05 pm

If all that ""new features"" change something so why is Cycles X postpone Opencl support.
If him one of the best in opencl programming don't see any benefit i think it should be considered more than twice.

But anyway I am the least to say something here.
Don't see what AMD have to give against Nvidia rtx optix Performance.
If everyone had/wanted Nvidia cards then Opencl is pointless (but it does work on other things except GPU's & CPUs). Cycles X has willingly chosen to prioritize CUDA, obviously for performance reasons. If you believe everyone else who doesn't have CUDA doesn't matter then it's a simple decision. AMD already have something similar to raytracing for Optix (PlayStation 5), so it's inevitable. Vulkan already has Ray tracing support from Nvidia and AMD, and I was just reading it's probably going to be possible to compile Opencl code into Vulkan shaders soon, so you can predict where everything is going. Opencl could also get Optix support directly, Nvidia can add an extension exclusive to it's hardware, that's allowed.

My point is Opencl isn't going anywhere, its an option, a good one in my opinion. People were worried it was abandoned, I just wanted to say it wasn't.

Personally if CUDA was 5x times faster than Opencl I wouldn't complain. But with well designed algorithms it's only 20% - 40% faster.

If AMD HIP gets serious, then one can simply complie Opencl/CUDA kernels into it's format, and use it on AMD hardware.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 5:00 am
by lacilaci
Continuum wrote:
Sat May 01, 2021 8:36 pm

If everyone had/wanted Nvidia cards then Opencl is pointless
Everyone who is doing CG professionally is already using an nvidia card.

AMD only seem to care about competing with gaming side of things, providing cheaper gaming hw.

Apple on other hand with their metal might be a proper alternative for CUDA. Jules from otoy said himself that Apple was moving heaven and earth to get octane working on metal. I think they are much more dedicated to compete even on professional side of things. I can see many renderers providing CUDA and metal as options but Opencl seems like a massive waste of time on sw development.

Another thing is, the numbers you posted, 20-40% is actually a crazy speedup once you think about time per frame for animation for cuda and if you take a geometry heavy scene and include optix speedup then opencl is again just waste of time.

For realtime rendering maybe vulkan will be interesting, but we have to wait how useful it will be in eevee or UE5 and if we won't end up only with a subset of features available compared to dx12. Even here I think I would count on apple as a competitor in the future more.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 8:56 am
by TAO
We should at least leave it as it is and see what will happen in the future, that's the least we can have.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 9:48 am
by Continuum
I have made my case for Opencl. I will leave it there. I will adapt to what ever comes.
lacilaci wrote:
Sun May 02, 2021 5:00 am
[

Apple on other hand with their metal might be a proper alternative for CUDA.
My personal opinion is that CUDA is purely a compute APi, it ignores graphics completely, like Opencl.

Direct X 12 (which has existed for a while, but only works on Windows 10) = Vulkan = Metal. All Low Level graphics Apis, with compute shaders.

Why don't people use these technologies if they are as good? I believe it's the lack of developer initiative, and organizations and and companies not promoting their products. Vulkan was originally an AMD project, they donated it. Opencl was an Apple idea, they abandoned it.

If Octane runs on Metal, then there's no reason it can't be done on the other equivalent API's.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 10:35 am
by Sharlybg
So we are all saying the same from the begining. Just leave it as it is from now and move to Luxvore 3.0 with all the benefit of optix cuda with an unified code easier to improve.

When we have clear move in the futur we make a decision about opencl or about whatever alternative come to us.
But there is a desperate need to improve our package to be competitive and relevant for next years.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 10:41 am
by TAO
Continuum wrote:
Sun May 02, 2021 9:48 am
I have made my case for Opencl. I will leave it there. I will adapt to what ever comes.
lacilaci wrote:
Sun May 02, 2021 5:00 am
[

Apple on other hand with their metal might be a proper alternative for CUDA.
My personal opinion is that CUDA is purely a compute APi, it ignores graphics completely, like Opencl.

Direct X 12 (which has existed for a while, but only works on Windows 10) = Vulkan = Metal. All Low Level graphics Apis, with compute shaders.

Why don't people use these technologies if they are as good? I believe it's the lack of developer initiative, and organizations and and companies not promoting their products. Vulkan was originally an AMD project, they donated it. Opencl was an Apple idea, they abandoned it.

If Octane runs on Metal, then there's no reason it can't be done on the other equivalent API's.
Direct X and Vulkan are mostly graphic API use for shader/geometry, etc. and they can not work as Cuda or OpenCL. even if they are it will be a huge performance difference, except they add support of computing to them and that's unlikely going to happend.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 11:01 am
by Continuum
TAO wrote:
Sun May 02, 2021 10:41 am

Direct X and Vulkan are mostly graphic API use for shader/geometry, etc. and they can not work as Cuda or OpenCL. even if they are it will be a huge performance difference, except they add support of computing to them and that's unlikely going to happend.
This is the misconception I am trying to clear up. This hasn't been the case for a long time. Even OpenGL has compute shaders (not pixel, geometry or vertex shaders).

Link: https://www.khronos.org/opengl/wiki/Compute_Shader

Modern graphics API's are copying compilers, like C++ they are converting their code to an intermediate portable assembly code. Direct X has done this since 11. There is Direct X compute, not for shaders. There also C++ amp (like SyCl), which uses Direct X. Vulkan & Opencl (soon anyway) produce Spir-V. AMD HIP is it's own proprietary intermidiate code, that's how it's able to compile Opencl or CUDA code. In theory you could write your own compute language as long as it produces the intermediate code. So to summarize GPU's are already being treated like generic compute devices. The graphics API's simply act as an abstraction.

More links:
https://en.m.wikipedia.org/wiki/DirectCompute
https://developer.apple.com/documentati ... s_on_a_gpu

AMD Raytracing hardware support:
https://gpuopen.com/learn/radeon-prorender-2-0/

AMD Raytracing Vs. Nvidia Raytracing (Vulkan):
https://www.phoronix.com/scan.php?page= ... x-vulkanrt

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 2:13 pm
by lacilaci
Continuum wrote:
Sun May 02, 2021 9:48 am

Direct X 12 (which has existed for a while, but only works on Windows 10) = Vulkan = Metal. All Low Level graphics Apis, with compute shaders.

Why don't people use these technologies if they are as good?
UE4 already has a full blown pathtracer that runs on dx12, I think it's also made by the guy that founded maxwell render(next limit) who is head of the raytracing at epic (I don't know the precise details). And even outside full pathtracing UE provides raytracing of reflections/refractions/GI selectively when rendering rest using rasterization.

UE5 will likely use raytracing on other hw, vulkan, metal maybe. They stated somewhere that they raytraced GI in UE5 is going to run outside nvidia HW (pathtracing voxelized representation of the scene for low detail GI)

Anyways, I don't know about vulkan. But I'm pretty sure metal will be big player in rendering in general.

Re: Faster Compiling kernels

Posted: Sun May 02, 2021 2:29 pm
by Continuum
lacilaci wrote:
Sun May 02, 2021 2:13 pm

Direct X 12 (which has existed for

UE4 already has a full blown pathtracer that runs on dx12.
Excellent, more options for Luxcore :)

Vulkan replaces Opengl, so it's here to stay. Just finished Doom Eternal, and I noticed it only runs on Vulkan and nothing else.