CUDA: Polish CUDA_ARCHITECTURES=all/all-major documentation and implementation
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