【CUDA】利用NVIDIA SDK生成dll程序详解

本文介绍了如何使用NVIDIA SDK在不依赖Parallel Nsight的情况下,通过修改工程属性和源代码,将CUDA程序转换为DLL动态链接库。内容包括准备环境、将示例程序转变为DLL工程、测试DLL、生成最终产品以及处理调试和发布的问题。
摘要由CSDN通过智能技术生成

导言:

    首先,英伟达公司的NSIGHT实在是个无品的产品,至今产品已经出到Parallel Nsight 1.51 released。虽然产品本身已经免费了【1】,但是安装它的话需要先安装VS的补丁,您一旦安装补丁,好好的绿色VS瞬间进入了试用期。更重要的是,您如果真买了正版VS,恭喜您,您想调试CUDA程序的话要买两块显卡【2】!!!NVIDIA显卡什么价钱,我就不说了。对于我们这些初学者而言简直就是噩梦。所以,作为替代品我们选择SDK进行开发,虽然麻烦一点,很多东西需要手工来配置,但是,省钱!!!对于软件的了解也不无益处。

    第二,我发现很少有文章针对SDK开发动态连接库(及dll)程序有详尽而入门级的指导,所以小e同学特别好心地将摆弄了好几天的经验在这里和同志们交流,实践中遇到问题,也欢迎在这里提问哦~

 

准备工作:

    正是进行工作之前,你需要已经完成了以下准备工作:1,已经成功安装Toolkit 并运行成功;2,成功安装SDK;3,成功编译运行SDK中的C语言例子程序(如果运行不了请检查项目属性中是否:连接器->其他程式库目录是否配置有误,如果有误会产生.lib的连接错误);4,对dll文件的使用有一定了解(喂,至少知道它是做什么的吧,还有和lib输入库文件的关系)。

    没有完成以上步骤的同学,请先在【3】下载哦~

 

正式工作:

    激动人心的正式步骤就要开始了!!!我们在这里将会解决一下几个主要困难:1,如何将一个实例中生成exe的工程改为生成dll的工程;2,如何测试dll工程;3,如何release最终的产品。

 

第一步:

    我们在sdk C语言例子程序中找到一个比较简单的只有一个文件的工程(偷懒的行为。。),小e在这里用的是“cudaOpenMP”。然后,记得复制一个它的备份哦(不然,等到您把它改得面目全非后,再想看原来的例子工程你就泪目吧~)。打开工程,运行一下,可以看到结果如下:(Fig.1)

Fig.1

 

    我们这次工作的目的就是将此工程拆成两个工程,一个生成dll和lib输入库文件,另一个负责生成exe文件加载测试我们的dll文件。而原工程中只有一个.cu文件,列在这里:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值