You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CMake 3.26配置CUDA项目时CMAKE_CUDA_ARCHITECTURES报错问题

错误原因及修复方案

错误原因

CMake 3.26版本中,当手动指定CMAKE_CUDA_COMPILER路径时,CMake无法自动推断目标CUDA架构;同时如果CMAKE_CUDA_ARCHITECTURES变量已被设置(比如来自环境变量或缓存)但未赋予有效架构值,就会触发该错误。另外从CMake 3.24+开始,CUDA项目要求必须明确指定CMAKE_CUDA_ARCHITECTURES,手动指定编译器的场景下这一要求会被严格校验。

修复方案

方案1:在CMakeLists.txt中显式指定CUDA架构

修改你的CMakeLists.txt,添加架构指定代码,可根据需要选择目标GPU架构(以下为常见架构示例):

cmake_minimum_required(VERSION 3.25)
project(foo CUDA)

# 指定支持的CUDA架构,例如7.0(Turing)、8.0(Ampere)、8.6(Ampere)
set(CMAKE_CUDA_ARCHITECTURES 70 80 86)

方案2:在cmake命令行中指定架构

执行cmake命令时直接传入CMAKE_CUDA_ARCHITECTURES参数:

cmake -DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.2/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=70;80;86

方案3:让CMake自动推断架构(仅适用于本地有可用GPU的环境)

如果你的开发环境中装有NVIDIA GPU,可以设置CMAKE_CUDA_ARCHITECTURES为Auto,让CMake自动检测当前GPU的架构:

在CMakeLists.txt中设置:

cmake_minimum_required(VERSION 3.25)
project(foo CUDA)

set(CMAKE_CUDA_ARCHITECTURES Auto)

或在命令行中设置:

cmake -DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.2/bin/nvcc -DCMAKE_CUDA_ARCHITECTURES=Auto

内容的提问来源于stack exchange,提问作者einpoklum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:17:08