Skip to content

CUDA: Polish CUDA_ARCHITECTURES=all/all-major documentation and implementation

Brad King requested to merge brad.king/cmake:cuda-arch-all into master

Update the CUDA_ARCHITECTURES docs for generic all/all-major support. Since !6816 (merged), these special values do not require any specific compiler or version. Also, re-organize the special value documentation: move the versionadded markup inside each special value so we can add more in future versions.

Simplify the CMAKE_CUDA_ARCHITECTURES logic in CMakeDetermineCUDACompiler. Dispatch based on the CMAKE_CUDA_ARCHITECTURES value first, and then make other decisions for each possible value.

Also fix CMAKE_CUDA_ARCHITECTURES=all/all-major with NVCC 11.5+. Changes in !6816 (merged) broke our architecture verification checks when using -arch={all,all-major} with NVCC 11.5+. If we test the compiler with -arch={all,all-major}, we have no expected list of architectures, so skip the check.

Fixes: #23278 (closed)
Backport: release

Edited by Brad King

Merge request reports