After two years of development and some deliberation, AMD decided that there is no business case for running CUDA applications on AMD GPUs. One of the terms of my contract with AMD was that if AMD did not find it fit for further development, I could release it. Which brings us to today.
I'm really curious who at AMD thought it to be a great idea to develop a CUDA compatibility layer but not to release it. As stated, the release was only made because AMD ended financial support.
The problem is that if we make CUDA the standard, then they put nVidia in control of a standard. nVidia could try to manipulate the situation in future versions of CUDA by reworking it to fuck with this implementation, giving AMD a shaky name in the space.
We saw this happen with Wine, where although probably not deliberately, MS made Windows compatibility a moving and very unstable target.
That is something tolerable by open source communities, but isn't something that will fly for official support.
The problem is that if we make CUDA the standard, then they put nVidia in control of a standard. nVidia could try to manipulate the situation in future versions of CUDA by reworking it to fuck with this implementation, giving AMD a shaky name in the space.
I get that but why woulde they fund development of ZLUDA for two years?
Reverse engineering CUDA can bring other benefits. It allows AMD to see what nVidia is doing right and potentially implement it in their own tech. Having not only documentation but a working implementation can help wonders in this regard.
Or maybe they did want to use it but was scared of getting SLAPPed by Nvidia, so instead let the dev open source it.