Architecture flags#
CCCL builds device code for the SM architectures named in CMAKE_CUDA_ARCHITECTURES, a
semicolon-separated list of SM numbers, each optionally tagged -real (embed SASS) or
-virtual (embed PTX for JIT on newer GPUs). CMake also accepts native, all, and
all-major. The
CUDA_ARCHITECTURES property
documents the standard syntax and values.
CCCL adds two values, expanded at configure time by cccl_check_cuda_architectures() against
the toolkit found at configure time:
all-cccl— every architecture the current nvcc supports at or above CCCL’s minimum.all-major-cccl— one entry per major architecture at or above the minimum, carrying forward PTX on the highest.
Both resolve against the installed toolkit rather than a fixed table. The minimum supported
architecture and the full expansion logic live in cmake/CCCLCheckCudaArchitectures.cmake.
Expansion runs only for a top-level CCCL build; downstream consumers pass a concrete list or
native.