cuda linux编译器_linux下如何编译CUDA+QT(qtcreator下)

具体操作,修改qt项目配置文件pro,在配置后面加入如下代码,我们就实现了qt+cuda的交叉编译。

# 让你的项目可以看到后缀cu的cuda代码文件

OTHER_FILES +=  ./Bll/ImageReconstruction/Cuda/CudaFDK.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_kernel.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_SS.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_SS_kernel.cu

# CUDA配置,具体按照你系统环境更改

CUDA_SOURCES += ./Bll/ImageReconstruction/Cuda/CudaFDK.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_kernel.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_SS.cu \

./Bll/ImageReconstruction/Cuda/CudaFDK_SS_kernel.cu

CUDA_SDK = "/usr/local/cuda-5.0/"   # cudaSDK路径

CUDA_DIR = "/usr/local/cuda-5.0/"            # CUDA tookit路径

SYSTEM_NAME = linux         # 自己系统环境 'Win32', 'x64', or 'Win64'

SYSTEM_TYPE = 32            #操作系统位数 '32' or '64',

CUDA_ARCH = sm_21           # cuda架构, for example 'compute_10', 'compute_11', 'sm_10'

NVCC_OPTIONS = --use_fast_math

# include paths

INCLUDEPATH += $$CUDA_DIR/include

# library directories

QMAKE_LIBDIR += $$CUDA_DIR/lib/

CUDA_OBJECTS_DIR = ./

# The following library conflicts with something in Cuda

#QMAKE_LFLAGS_RELEASE = /NODEFAULTLIB:msvcrt.lib

#QMAKE_LFLAGS_DEBUG   = /NODEFAULTLIB:msvcrtd.lib

# Add the necessary libraries

CUDA_LIBS =  cudart cufft

# The following makes sure all path names (which often include spaces) are put between quotation marks

CUDA_INC = $$join(INCLUDEPATH,'" -I"','-I"','"')

NVCC_LIBS = $$join(CUDA_LIBS,' -l','-l', '')

#LIBS += $$join(CUDA_LIBS,'.so ', '', '.so')

# Configuration of the Cuda compiler

CONFIG(debug, debug|release) {

# Debug mode

cuda_d.input = CUDA_SOURCES

cuda_d.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o

cuda_d.commands = $$CUDA_DIR/bin/nvcc -D_DEBUG $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}

cuda_d.dependency_type = TYPE_C

QMAKE_EXTRA_COMPILERS += cuda_d

}

else {

# Release mode

cuda.input = CUDA_SOURCES

cuda.output = $$CUDA_OBJECTS_DIR/${QMAKE_FILE_BASE}_cuda.o

cuda.commands = $$CUDA_DIR/bin/nvcc $$NVCC_OPTIONS $$CUDA_INC $$NVCC_LIBS --machine $$SYSTEM_TYPE -arch=$$CUDA_ARCH -O3 -c -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_NAME}

cuda.dependency_type = TYPE_C

QMAKE_EXTRA_COMPILERS += cuda

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534757.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux的sonar安装,Linux安装sonar

前置依赖​ mysql 5.6 or 5.7​ jdk 1.81.下载2.安装unzip并解压sonarqube并移动到/usr/localyum install unzipunzip sonarqube-6.7.4.zipmv sonarqube-6.7.4 /usr/local/3.mysql里新增数据库CREATE DATABASE sonar DEFAULT CHARACTER SET utf8;4.修改sonarqube相应的配置vim …

redis内存淘汰和持久化_redis 持久化

一、RDB持久化(一)、RDB介绍可以在指定的时间间隔内生成数据集的 时间点快照(point-in-time snapshot),新快照会覆盖老快照(二)、优点压缩格式,恢复速度快,适合于用做备份…

android实现后台静默安装,Android 静默安装实现方法

Android静默安装的方法,静默安装就是绕过安装程序时的提示窗口,直接在后台安装。注意:静默安装的前提是设备有ROOT权限。代码如下:/*** 静默安装* param file* return*/public boolean slientInstall(File file) {boolean result …

pythonwrite连续写入_python文件写入write()的操作

本文实例为大家分享了python文件写入write()的操作的具体代码,供大家参考,具体内容如下filename pragramming.txtwith open(filename,w) as fileobject: #使用‘w来提醒python用写入的方式打开fileobject.write(i love your name!\ni love your cloth!\…

最新变态传奇android,新开变态传奇单职业

新开变态传奇单职业这款传奇手游中拥有这极为丰富的游戏玩法,玩家既可以进入各种副本中,挑战那些强大的副本boss,也可以和自己的兄弟好友们一起组队,前往各种跨服战场,和全服的高手玩家们一起进行最激烈的战斗。游戏中…

spark sql读取hive底层_[大数据]spark sql读写Hive数据不一致

在大数据公司中,任何一家公司都不会只使用一个框架吧?!skr,skr~~那我们今天就来聊一段 Hive 与 Spark的爱恨情仇就像在一些场景中,需要将外部的数据导入到Hive表中,然后再对这些数据进行额外的处理&#xf…

android手机微信收藏功能实现,Android模仿微信收藏文件的标签处理功能

最近需要用到微信的标签功能(如下图所示)。该功能可以添加已有标签,也可以自定义标签。也可以删除已编辑菜单。研究了一番。发现还是挺有意思的,模拟实现相关功能。该功能使用类似FlowLayout的功能。Flowlayout为一个开源软件(https://github.com/ApmeM/…

strocli64 源码_storcli 简易使用介绍

MegaCli 是LSI公司官方提供的SCSI卡管理工具,由于LSI被收购变成了现在的Broadcom,所以现在想下载MegaCli,需要去Broadcom官网查找Legacy产品支持,搜索MegaRAID即可。关于MegaCli 的使用可以看我的另一篇博文,这里就不再…

android 电话号码标记,强化电话标记功能 360手机卫士3.0安卓版体验

作为“房产商”,上海仁恒置地集团营销总监姚伟示通常每天也要接到20个左右房产或其他推销电话。“现在已经形成了一个机械的对应方式,对于此类推销电话,很多人包括我自己已经麻木了。”针对这种情况,360手机卫士发布了3.0.0正式版…

lua判断字符不为空或空格_Lua判断字符串前缀是否为指定字符的3种方法

在写 lua debugger 的时候,我需要判断一个字符串的前缀是不是 "" 。有三个方案:1.比较直观的是 string.sub(str,1,1) ""2.感觉效率比较高的是 string.byte(str) 643.或者是 string.find(str,"") 1我推荐第三种。(注&am…

android 左滑按钮,android开发类似微信列表向左滑动按钮操作

话不多说,直接上代码,有详细的注释的。layout布局中:主要是跟大家说一下listview怎么写:android:id"id/pull_refresh_viewId"android:layout_width"match_parent"android:layout_height"match_parent&qu…

眼图 非差分线_利用眼图解决USB在布线中的信号完整性问题

EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册x本帖最后由 lifree 于 2020-2-5 14:37 编辑2 ]3 p D% B4 \ {/ n# V& |( A& p O通用串行总线USB (Universal Serial Bus)协议从1.0版本发展到现在,由于数据…

向量表示 运动抛物线_流动的美丽函数——抛物线浅谈

事先说明:笔者初三,如在叙述中有不严谨的地方,还请诸位指出,自当感激不尽。(本文默认受众对象为初高中生,因此抛物线一律采取了yax的形式,高中的同学们可以应用旋转矩阵把它变到y2px的形式QAQ笔…

android 获取已安装 错误代码,android获取手机已经安装的app信息

Android获取手机已安装APP(系统/非系统)效果图主体代码private ListView mlistview;private ListpackageInfoList;private ListapplicationInfoList;private MyAdapter myAdapter;private PackageManager pm;Overrideprotected void onCreate(Bundle savedInstanceState) {supe…

android与ios ui切图关系,APP-IOS与Android界面设计与切图

做一全套的APP设计,流程是:1、界面设计:设计IOS界面;设计Android界面。2、切图:切IOS的2倍图和3倍图;切Android的hdpi,xhdpi,xxhdpi这三个尺寸的图。3、标注:以px为单位标注IOS界面的尺寸&#…

js禁止鼠标滑轮_js实现鼠标滑动到某个div禁止滚动

本文实例为大家分享了js实现鼠标滑动到某个div禁止滚动的具体代码,供大家参考,具体内容如下项目中碰到一个场景就是当鼠标滑倒某个div的时候,滑动鼠标页面不再滚动。这里主要是当鼠标滑动到该div时,监听滚轮事件并通过preventDefa…

android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...

原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制。为了使系统能够流畅稳定的运行以及更加省电,它都会在手机锁…

ps怎么清屏_黑洞PS大赛刷屏!最后一张扎心了……

事件视界望远镜(EHT)项目组和中国科学院共同在上海天文台发布由EHT“拍下”的人类历史上首张黑洞照片这意味着人类成功获得了超大黑洞的第一个直接视觉证据黑洞首次露出真容!据说宇宙诞生了138亿年年龄最大的黑洞也已经超过了100亿岁经过了这么久黑洞家族的成员才终…

linux和windows和鸿蒙,linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?

原标题:linux很好,但为何大家都用Win,鸿蒙系统站错阵营了吗?由目前已知信息可知,华为“鸿蒙系统”很可能基于linux开源程序搭建,这个特点与苹果微软由很大不同。苹果手机目前主要使用Objective-C程序语言开…

centos7磁盘逻辑分区命令_CentOS7 磁盘分区(主分区、扩展分区和逻辑分区)的创建、挂载与删除...

创建磁盘分区查看磁盘分区情况:fdisk -l[rootmodel ~]# fdisk -l //查看系统中所有磁盘的分区列表Disk/dev/sda: 107.4 GB, 107374182400 bytes, 209715200sectorsUnits sectors of 1 * 512 512bytesSector size (logical/physical): 512 bytes / 512bytesI/O size…