|
Tooling. Since CUDA 3.0, NVidia has embraced a polyglot stack, with C, C++ and Fortran at the center, and PTX for anyone else. Followed by changing CUDA memory model to map that of C++11. Khronos never cared for Fortran, and only designed SPIR, when it became obvious they were too late to the party. So not only has CUDA first level tooling for C, C++, Fortran, with IDE integration in Visual Studio and Eclipse, graphical GPU debugger with all the goodies of a modern debugger, it also welcomes any compiler toolchain that wants to target PTX. Java, Haskell, .NET, Julia, Python JITs, .... there are plenty to chose from, without going through "compile to OpenCL C99" alternative. Finally, the myriad of libraries to chose from. CUDA is not only for AI, by the way. |