微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu下cuda编程的基本过程

link addr

一:运行程序


按照上一篇文章所述,安装好cuda软件以后,就可以使用”nvcc -V“命令查看所用到的编译器版本,本人用版本信息来自:“Cuda compilation tools,release 3.2,V0.2.1221”。

自己创建一个目录,在里面新建 cu 文件,写入代码,保存,即可使用终端切换到相应目录下进行编译 了,编译命令:nvcc -o filename filename.c u,即可将 .cu 文件编译成可执行文件,如果有语法错误,此时将会报错,如果没有,其他错误将会在运行时报错,使用 ./filename 运行程序,即可。

二:调试程序
如果程序有误但是没能看到结果或者相关信息,不妨加入调试信息:nvcc -o filename filename.cu -g ,即可添加调试信息,之后使用gdb运行:gdb ./filename 即可进入可执行文件,输入命令:r,即可运行具有调试信息的程序,看到错误结果的相关信息,再找出错误之处,修改 再编译。
三:错误查找
在CUDA里面,有很好的查错函数,本人一般用其中两个:CUT_CHECK_ERROR (),CUDA_SAFE_CALL(),前者可以接受最近一次 的cudaerror_t异常,且输出 相应的错误类型,比如像检测一个函数是否正确执行,可以在执行语句之后加 入:CUT_CHECK_ERROR(“Kernel execution Failed”);运行时如果出错,将会报告并且输出错误类型;而后者直接输出错误类型,例如想要知道某复制语句是否成功,可以在将语句改写 成:CUDA_SAFE_CALL(cudamemcpy(d_data,data,size,cudamemcpyHostToDevice));运行时如果出错,将会直接输出错误类型。
上述函数使用时必须包含头文件 cutil.h,添加方法见第四点。
四:添加路径
如何添加路径呢?使用 "-I path" 参数输入,例如想要添加的头文件为 cutil.h,则在 .cu 文件将其包括进去,查看其属性可以知道其位置,为:/home/user/NVIDIA_GPU_Computing_SDK/C/common/inc,那么编译的时候命令可以写成:nvcc -I /home/user/NVIDIA_GPU_Computing_SDK/C/common/inc -o filename filename.cu,这样编译器就会找到该文件调用了,其他路径的添加类似。
五:利用Makefile编程
创建一个Makefile,然后输入命令就可以了:
filename : filename.cu
nvcc -o filename filename.cu
在终端使用命令:make filename,即可编译生成可执行文件,如果有多个 .cu 文件要编译,也可以写在同一个Makefile里面,改变 “make filename” 中的 “filename” 即可编译生成不同的可执行文件

原文地址:https://www.jb51.cc/ubuntu/355613.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐