I work in a large CUDA codebase and use Clang to build some of our CUDA code to improve compilation speed. We’re planning to upgrade to CUDA 11 soon, and it appears that CUDA 11 is not yet supported in LLVM.
From the LLVM commits history, I can see that work on CUDA 11 has started. Is this currently being worked on? What is the remaining work left? And is any help needed to finish it?
Clang works with CUDA-11 with feature parity with CUDA-10.1. I.e. whatever code clang was able to compile w/ CUD-10.1 it should still be able to compile w/ 11.0.
It supports targeting new GPUs supported by newer CUDA versions, but currently lacks support for the new instruction variants and corresponging LLVM intrinsics and clang builtins (hence the warning, which can be disabled).
In the past addition of new features was driven by the practical need for them and there’s been little demand for the new bells and whistles. Most of the TensorCore cycles are spent in NVIDIA’s own cuBLAS/cuDNN precompiled libraries these days with little to no compileable source code that needs to support TensorCores.
Do you have the list of specific CUDA features that you need clang to support?
Thanks for the update. I noticed the warning and assumed that it’s not yet supported. I’ll give it a try and report if there are problems.