CMAKE 编译CUDA项目失败 “/usr/bin/nvcc“ is not able to compile a simple test program.
CMAKE 编译CUDA项目失败 “/usr/bin/nvcc” is not able to compile a simple test program.
使用CMAKE编译cuda项目时失败
环境: ubuntu 20.04;
cuda版本:11.8
可能是因为我的cuda为手动编译的原因,导致在 /usr/bin/nvcc
目录下没有找到正确的nvcc 路径导致失败
有两种解决方案:
解决方法1:
在cmake中添加set(CMAKE_CUDA_COMPILER "/usr/local/cuda/bin/nvcc")
这个nvcc路径可以通过 which nvcc
查看
注意 应该尽可能添加在 project 命令之前,因为cmake在执行project命令时会自动检测并设置编译器,所以应该在project命令之前设置正确的nvcc编译期路径
cmake_minimum_required(VERSION 3.10.0)
# 放在最顶端,确保在CMAKE初始化阶段即设定了正确的CUDA编译器路径
set(CMAKE_CUDA_COMPILER "/usr/local/cuda/bin/nvcc")
# CMake 会在遇到 project() 指令时,自动检测并设置编译器(包括 CUDA 编译器)。 所以应该在project之前
project(sample_cublasLt_LtDgemmPresetAlgo LANGUAGES CXX CUDA)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(${PROJECT_NAME}
main.cpp
${PROJECT_NAME}.cu
)
解决方法2:
在执行 cmake 命令时添加 -DCMAKE_CUDA_COMPILER
cmake .. -DCMAKE_CUDA_COMPILER=`which nvcc`