本文主要介绍在ubuntu系统上,怎样对.cu文件进行编译,生成.so或可执行文件。

一、cuda文件
后缀为.cu的文件,里面主要利用cuda进行高效的并行计算。
二、编译
主要有2种编译方法:
1)nvcc方式:最直接,使用cuda的nvcc来编译,但是据说一次只能添加一个.cu文件。
2)cmake方式:大工程里更简单,已经把nvcc封装成了相应接口。

具体如下
1、nvcc方式
直接用单条命令,或在makefile里使用以下命令

 #生成可执行文件nvcc xx.cu -o demo
 #生成动态库nvcc xx.cu -shared -o demo

2、cmake方式
cuda_add_library(yourLibName SHARED xx.cu)生成动态库
cuda_add_library(yourLibName STATIC xx.cu)生成静态库
cuda_add_library_executable(yourLibName main.cu) 生成可执行文件
示例:

cmake_minimum_required(VERSION 3.0 )
project(linger)#注意先链接cuda
# cuda
find_package(CUDA REQUIRED)
include_directories(/usr/local/cuda/include)
link_directories(/usr/local/cuda/lib64)      #生成动态库
cuda_add_library(yourLibName SHARED xx/xx.cu)

ubuntu系统上,对.cu文件进行编译,生成.so或可执行文件相关推荐

  1. 在ubuntu系统上安装lammps与QUIP插件

    在ubuntu系统上安装lammps与QUIP插件 注:一定在安装之前确定自己的Ubuntu版本,太新的版本可能导致安装后出现莫名奇妙的错误,系统还不会"告诉"你 我自己一开始安装 ...

  2. VS里面关于.cpp文件与.cu文件混合编译问题---不要在.cpp文件声明核函数(__device__()和global__())

    原文出处:点击打开链接 ############################################################# 不要在.cpp文件声明核函数,否则会报错,具体可以参 ...

  3. ubuntu安装java_如何在Ubuntu系统上安装Java

    作为Java开发人员,您将需要一次或两次在系统上安装它.与普遍的看法相反,在Ubuntu计算机上安装Java非常简单.在本文中,我们将说明以下三种在Ubuntu系统上安装稳定版本的Java的方法: 通 ...

  4. 在Ubuntu系统上安装Windows 10(真实有效)

    在Ubuntu系统上安装Windows 10 在Ubuntu系统上安装Windows 10 亲测有效.全网只找到 https://blog.csdn.net/weixin_39278265/artic ...

  5. Ubuntu系统上安装永中Office2012

    Ubuntu系统上,自带的那个OpenOffice有时候不好使,会显示乱码: 安装永中Office2012 1.下载 下载的网址我不记得了,需要的话,网上搜一下吧- 2 .这个今天装好了告诉你们怎么安 ...

  6. aide访问本地html,Ubuntu系统用AIDE检查文件完整性

    by 人气: 在许多可以应用于Ubuntu安全的方法中,有一种被称作文件完整性监视(文件完整性检验). 对关键的系统二进制文件和配置文件进行完整性监视和校验的目的是确保这些关键文件没有被进行未授权的改 ...

  7. 如何在ubuntu系统上安装多个cudn环境(及对应cudnn、pytorch 、torchvision安装方法 )

    如何在ubuntu系统上安装多个cudn环境 第二版本的cuda的安装 cuda的切换设置 对应cudnn的安装 安装pytorch及torchvision 后话 转载请注明出处 在跑模型的时候报错说 ...

  8. 如何安装linux_在Ubuntu系统上如何制作Linux安装U盘

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Ubuntu系统中制作Linux启动 ...

  9. Ubuntu系统上远程桌面,samba,ftp,vncserver,ssh服务器,teamviewer安装配置

    [说明]本文摘录和收集了很多网上前辈写的教程,在此表示感谢,本文都是经过自己的实践证明可行的,希望可以对他人有所帮助! 远程桌面安装配置: 1. ubuntu配置[(1)(2)必做,(3)选做] (1 ...

最新文章

  1. ny520 最大素因子 筛选法求素数
  2. 08_传智播客iOS视频教程_点语法
  3. 实时获取ccd图像_薄膜瑕疵在线检测系统0.1mm检测精度_实时在线检测
  4. python字符串split_「干货」Python字符串中的split方法
  5. Java 避免精度丢失之BigDecimal 运算
  6. 修改input的text 通过jquery的html获取值 未变化
  7. ajax登陆返回值判断,一个简单的ajax用户登陆返回值问题?有代码
  8. LeetCode第155题 最小栈
  9. python详细的安装教程分享!
  10. Android关于Handler发送消息里面的arg1和arg2以及obj和what的用法
  11. cookies默认过期时间_「图」Chrome Canary新版已启动“增强版cookies控制”预览测试...
  12. Bash脚本教程之目录堆栈
  13. input中checked复选框进行单选
  14. mac下php的坑,MAC下安装laravel时遇到的坑
  15. mysql查询所有姓王的信息_MySQL的查询练习
  16. 小波说雨燕 第三季 构建 swift UI 之 度假清单 学习笔记
  17. 如何应对被地下的Oracle口令加密算法(2)
  18. 在虚拟机中使用物理硬盘的两个用法及注意事项
  19. php open basedir配置,php下open_basedir的配置
  20. 快手磁力金牛和小店通的区别

热门文章

  1. Python-csv文件打开、csv文件保存和csv文件删除行信息
  2. Robotic toolbox10.2的fkine函数与机械臂MDH和DH变化矩阵的应用
  3. 数据百问系列:“未知”数据该如何处理?
  4. 寻找亚马逊测评师邮箱_美国及欧盟亚马逊产品外观专利查询步骤实操教程(已验证)...
  5. 基于同步整流技术的Buck开关电源设计方法
  6. ERP实施-委外分包业务,分包项目库存(R库存)
  7. 10.14 brid
  8. 番茄闹钟二(引入react-router)
  9. 开心网多帐号批量加好友过验证码
  10. Zotero(6.0)导入Endnote(x9)文献方法|Zotero常见配置