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

在LinuxUbuntu中编译基本C语言CUDA代码

我花了很多时间在运行Ubuntu Linux(11.04)的机器上设置CUDA工具链。 钻机有两个NVIDIA Tesla GPU,我可以编译并运行NVIDIA GPU计算SDK中的testing程序,例如deviceQuery,deviceQueryDrv和bandwidthTest。

当我尝试从书籍和在线资源中编译基本的示例程序时,出现了一些问题。 我知道你应该用NVCC进行编译,但是每当我使用它的时候都会收到编译错误。 基本上任何涉及CUDA库的include语句都会导致缺less文件/库错误一个例子是:

#include <cutil.h>

我是否需要某种makefile来将编译器指向这些库,或者在编译NVCC时是否需要设置其他标志?

我遵循这些指南:

NVCC CUDA交叉编译无法find“-lcudart”

CUDA – 关于“分支”和“分支”Visual Profiler结果的混淆(2)

如果调用cudamalloc,简单的控制台程序将不会退出

指定编译器NVCC用来编译主机代码

Cuda 6.5找不到 – libglu。 (在Ubuntu 14.04 64位)

http://hdfpga.blogspot.com/2011/05/install-cuda-40-on-ubuntu-1104.html http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc /CUDA_C_Getting_Started_Linux.pdf

无法在Windows 10上的安装Cuda toolkit v7.5中finddeviceQuery

Ubuntu 12.04中的CUDA链接错误

如何设置一个NVIDIA显卡用于显示和其他计算(在Linux中)?

在CUDA脚本执行后,GPU内存不能自行释放

没有检测到CUDAfunction的设备(使用Ubuntu 12.04.4服务器)

为了解决包含问题,将cuda include目录添加到您的编译选项(假设它是/ usr / local / cuda / include):

nvcc -I/usr/local/cuda/include -L/usr/local/cuda/lib test.cu -o test

cutil不是CUDA工具包的一部分。 它是CUDA SDK的一部分。 因此,假设您已经按照说明操作,并且已经将PATH和LIB目录添加到环境变量中,您仍然需要指向CUDA SDK包含和库目录。

为了手动包含这个库,你必须把路径传递给编译器:

nvcc -I/CUDA_SDK_PATH/C/common/inc -L/CUDA_SDK_PATH/C/lib ...

尽管我个人更喜欢不使用CUDA SDK库,但您可能会更容易从CUDA SDK示例中启动项目。

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

相关推荐