Windows 11中CLion新建CUDA项目报错:failed to detect a default cuda architecture
解决CLion中CUDA项目CMake报错“failed to detect a default cuda architecture”
1. 手动指定CUDA架构版本
CUDA 11.x及以后版本不再默认自动检测GPU架构,CLion默认的CUDA项目模板未包含相关配置,导致CMake报错。直接在CMakeLists.txt中添加架构指定代码即可解决:
# 在project()语句之后添加 set(CMAKE_CUDA_ARCHITECTURES 75 80 86) # 替换为你的GPU对应的计算能力版本
- 查看GPU计算能力:运行
nvidia-smi获取GPU型号,再对应查找其Compute Capability(例如RTX 20系列对应7.5,RTX 30系列对应8.6,RTX 40系列对应8.9),将版本号去掉小数点作为参数(如7.5写为75)。 - 也可使用
Auto自动检测,但Windows环境下手动指定更稳定:
set(CMAKE_CUDA_ARCHITECTURES Auto)
2. 检查CLion的CUDA工具链配置
- 打开CLion设置(
File > Settings),进入Build, Execution, Deployment > Toolchains。 - 确认选中的Visual Studio工具链为已安装的VS2022,且CUDA Toolkit路径正确指向
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7。 - 若CUDA工具链未自动识别,点击
+号选择CUDA,手动指定CUDA 11.7的安装目录。
3. 验证CMake环境变量有效性
- 重启CLion,确保其读取到最新的系统PATH环境变量(已添加CUDA路径)。
- 在CLion内置终端运行
nvcc --version,确认能正常输出CUDA 11.7版本信息,说明环境变量生效。 - 若终端无法识别
nvcc,可在CMakeLists.txt开头强制指定编译器路径:
set(CMAKE_CUDA_COMPILER "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7/bin/nvcc.exe")
4. 更新CLion至最新稳定版
旧版本CLion对CUDA 11.x的兼容性存在缺陷,更新到最新版本可修复部分工具链检测问题。
内容的提问来源于stack exchange,提问作者xdavidliu
相关产品推荐
相关产品推荐

