CLion远程连接服务器利用CUDA加速
——解决找不到CUDA编译器问题
No CMAKE_CUDA_COMPILER could be found
——解决cpp文件不能引用"cuda.h"、"cuda_runtime.h"等CUDA库头文件的问题问题
CLion远程环境配置
需要在服务器上安装好cuda,能够ssh连接
需要在服务器安装cmake、gcc等,一般都已经安装了
ubuntu注意cmake版本,不要低于3.15,如果版本低了,下载cmake源码编译安装
1.1 配置toolchains
打开clion,file->settings 按如下配置远程,配置服务器的ip和端口
1.2 配置CMake
按下图配置cmake
左边可以配置不同编译参数多个cmake
在下面的environment,添加需要的环境变量,clion远程没有加载环境变量(服务器上的bashrc等文件),导致找不到CUDA编译器。
比如:PATH=$PATH:/usr/local/cuda/bin
1.3 配置远程目录——clion会自动将本地代码同步到远程的目录然后编译
CUDA开发的CMakeLists
cmake_minimum_required(VERSION 3.24)
project(test_env01) # 项目名称
set(CMAKE_CXX_STANDARD 17) # C++17标准
# CUDA
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES) # 设置计算能力,和显卡架构有关
set(CMAKE_CUDA_ARCHITECTURES 86)
endif()
enable_language(CUDA) # 启用CUDA, cuda语法,.cu文件等支持
find_package(CUDAToolkit REQUIRED)
message(STATUS "CUDAToolkit_INCLUDE_DIR = ${CUDAToolkit_INCLUDE_DIR}") # cuda头文件目录
message(STATUS "CUDAToolkit_LIBRARY_DIR = ${CUDAToolkit_LIBRARY_DIR}")
add_executable(test_env01 main.cu)
target_link_libraries(test_env01 CUDA::cudart) # 添加cudart 在cpp文件中引用cuda.h才不报错
# 也可以把CUDAToolkit_INCLUDE_DIR添加包含目录
如果出现下面报错就是没有链接CUDA::cudart或者添加CUDAToolkit_INCLUDE_DIR到包含目录