MishaEngel wrote:Cuda and OpenCL are programming languages.
When you optimize both codes to the max. you get the same results.
You might, you might not. In addition to code there is also the hardware and driver factor which no amount of optimizing from developer side can take away. As Cary said, OpenCL is more generic, at least it tries to be. CUDA is proprietary to nVidia, which allows more hardware specific code and optimizing, and while one can argue that AMD cards utilize OpenCL as good as nVidia does CUDA, it is not always the case. Yes, math is math, but this does not take into account that math does not do itself, it must be done on certain hardware with specific characteristics. Otherwise one might also argue that all cpu-s with same clock speed are equal because int is an int, right? Not so, one might be able to do vectorized math on ints at the same time as floats, other might not, with GPUs it is the same. If noise reduction made use of new rtx engine in nVidia gpus, no amount of optimization will make same thing happen in opencl on amd cards.