CLion远程CUDA开发和CMAKE编写

CLion远程连接服务器利用CUDA加速

——解决找不到CUDA编译器问题

No CMAKE_CUDA_COMPILER could be found

——解决cpp文件不能引用"cuda.h"、"cuda_runtime.h"等CUDA库头文件的问题问题
  1. 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会自动将本地代码同步到远程的目录然后编译

  1. 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到包含目录

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CLion是一款由JetBrains开发的集成开发环境(IDE),专门用于C和C++的开发。它提供了丰富的功能和工具,可以帮助开发者更高效地编写、调试和测试代码。 CMake是一个跨平台的构建工具,它可以自动生成用于不同编译器和操作系统的构建脚本。通过使用CMake,我们可以将项目的构建过程与具体的编译器和操作系统解耦,从而实现跨平台的构建。 在CLion编写JNI(Java Native Interface)可执行文件,需要进行以下步骤: 1. 创建一个新的CMake项目:在CLion中选择"File" -> "New Project",然后选择"C++ Executable"作为项目类型。 2. 配置CMakeLists.txt文件:CMakeLists.txt是CMake的配置文件,用于指定项目的构建规则。你可以在该文件中添加JNI相关的配置。 例如,你可以使用`add_library`命令来创建一个动态链接库,并将JNI相关的源文件添加到该库中。示例代码如下: ``` cmake_minimum_required(VERSION 3.10) project(MyJNIProject) # 添加JNI相关的源文件 add_library(MyJNI SHARED jni_source_file.cpp) # 链接JNI库 target_link_libraries(MyJNI ${JAVA_JVM_LIBRARY}) ``` 在上述示例中,`jni_source_file.cpp`是包含JNI代码的源文件。`${JAVA_JVM_LIBRARY}`是一个变量,用于指定Java虚拟机的库文件。 3. 编写JNI代码:在CLion中创建一个新的C++源文件,编写JNI相关的代码。JNI代码用于在Java和C/C++之间进行交互。 例如,你可以使用`JNIEnv`对象来调用Java方法,使用`jclass`对象来获取Java类的引用,使用`jmethodID`对象来表示Java方法的ID等。 4. 构建和运行项目:在CLion中点击"Build"按钮,CLion将自动执行CMake构建过程,并生成可执行文件。你可以通过点击"Run"按钮来运行生成的可执行文件。 以上是使用CLionCMake编写JNI可执行文件的基本步骤。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值