Inhabitants of the Venn set overlap between Microsoft Visual Studio users and Nvidia CUDA developers, rejoice. CUDA 10 is once more compatible with Visual Studio.
Hidden away among the goodies of Nvidia's CUDA 10 announcement was the news that host compiler support had been added for Visual Studio 2017. Clang 6.x, ICC 18 and Xcode 9.4 were also on the list, but it was, of course, its own platform that Microsoft trumpeted in its post.
The Visual Studio problem was a thorny one, because CUDA used to be compatible. However, as Microsoft observed, some of the library headers became less than happy with CUDA's NVCC compiler in 9.x versions as the Windows giant updated its development suite.
According to Microsoft, "the crux of the problem is about two C++ compilers adding modern C++ standard features at different paces but having to work with a common set of C++ headers". A cynic might suggest the crux of the problem was actually two groups of engineers not talking to each other.
For its part, Microsoft, noting that a group of C++ coders were clinging resolutely to older versions of the frequently updated platform, reckons that it and Nvidia have come up with a solution that allow will all future versions of Visual Studio 2017 to enjoy CUDA compatibility, fuss-free.
This is good news because there is much to like in CUDA 10.
The 11-year-old CUDA platform arose from engineers realising that the powerful graphics processing units (GPU) in Nvidia graphics cards could be used for far more than jiggling pixels on a screen. Using CUDA to get direct access to the GPU's resources has seen the cards put to use in machine learning and neural networks as well as, infamously, mining cryptocurrencies.
CUDA 10 brings support for the Turing microarchitecture (the successor to the Pascal architecture found mainly in the GeForce 10 series of cards), which includes dedicated artificial intelligence processors (referred to as "Tensor Cores"). There are also performance optimisations for linear algebra and matrix multiplication.
Anticipating where a lot of its GPUs end up, Nvidia is also keen to tout support for the Tesla T4 GPU for hyperscale data centres.
Oh, and there is of course support for the much-touted ray tracing, which Nvidia reckons will allow a single GPU to create considerably more realistic lighting. It isn't all about the neural networks and scientific simulations.
Microsoft has promised that it has put in place some additional "tests and validation processes" to ensure it doesn't release a version of Visual Studio 2017 in the future that doesn't play nicely with CUDA. In the meantime, Visual Studio users keen to use new toys from both Microsoft and Nvidia need worry no more. ®