CMake编写CUDA应用程序

本文介绍了从CMake3.9版本开始,如何原生支持CUDA C/C++编程,使得CUDA程序与普通C/C++程序混合编写变得简单。内容包括测试CUDA安装、解决CUDA编译器找不到的问题以及两种解决方案:指定CUDA编译器路径和设置环境变量。通过实例展示了正常配置后的CMake输出。
摘要由CSDN通过智能技术生成

从cmake 3.9版本开始,cmake就原生支持了cuda c/c++。在这之前,是通过find_package(CUDA REQUIRED)来间接支持cuda c/c++的。这种写法不仅繁琐而且丑陋。所以这里主要介绍3.9版本之后引入的方法,cuda c/c++程序可以使用和普通的c/c++程序完全一样的操作,甚至两者可以混合使用,非常的方便,清晰明了。

测试cuda是否正常安装:nvcc --version

CUDA编译器找不到的问题:

CMake Error at CMakeLists.txt:4 (project):
  No CMAKE_cuda_COMPILER could be found.

解决方法一,指定路径:

cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
# 指定CUDA编译器
set(CMAKE_CUDA_COMPILER "/usr/local/cuda/bin/nvcc") 
project(CUDA_MAT_MUL LANGUAGES C CXX CUDA)

解决方法二,环境变量(ubuntu18):

# 查看环境变量
env
# 添加路径
export PATH="$PATH:/usr/local/cuda/bin"

正常情况下,运行cmake命令输出:

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- The CUDA compiler identification is NVIDIA 10.2.89
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc
-- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done

参考:
BrightXiaoHan/CMakeTutorial
cmake-examples
learning-cmake
cmake-demo

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值