When trying to compile Pytorch 2.12.0 or 2.13.0 with CUDA 13.3 or 13.3.1 using GCC 15.3.0, I get:
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/__device/arch_id.h(71): error: template constraint not satisfied
};
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/std/array(398): note #3135-D: substitution of arguments "<cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id>" for requires-clause failed
requires (is_same_v<_Tp, _Args> && ...)
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/std/array(398): note #3042-D: atomic constraint not constant
requires (is_same_v<_Tp, _Args> && ...)
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/std/array(398): note #2721-D: expression cannot be interpreted
requires (is_same_v<_Tp, _Args> && ...)
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/__device/arch_id.h(66): error: no instance of constructor "cuda::std::__4::array" matches the argument list
argument types are: (cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id, cuda::__4::arch_id)
return ::cuda::std::array{
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/__device/arch_id.h(66): error: cannot deduce class template arguments
return ::cuda::std::array{
^
/opt/cuda-13.3/targets/x86_64-linux/include/cccl/cuda/__device/arch_id.h(67): error: too many initializer values
arch_id::sm_60, arch_id::sm_61, arch_id::sm_62, arch_id::sm_70, arch_id::sm_75, arch_id::sm_80,
^
4 errors detected in the compilation of "/tmp/SBo/pytorch-v2.12.0/aten/src/ATen/native/cuda/BinaryMulKernel.cu".