2013-02-19 38 views
1

我使用NVIDIA CUDA 5工具包在笔记本电脑上编译了一个cu程序。一个非常基本的接口,只使用终端输出。然后我继续测试它如何在我的台式机上运行(都安装了Ubuntu 12.04 LTS)。部署Linux CUDA应用程序

在桌面PC我收到此错误信息:

错误而载入共享库:libcudart.so.5.0:无法打开共享对象文件:没有这样的文件或目录

好吧,我明白了,一些库没有安装。但是,我是否真的需要在每台希望我的编译代码运行的PC上安装CUDA工具包?

+0

您不必安装完整的工具包,但至少您必须安装所需的库。如果你只使用“标准”方法如cudamemcpy,cudamalloc ..比cudart应该足够了。 – hubs 2013-02-19 08:51:57

回答

5

在Linux上部署CUDA运行时API的应用程序,你只需要做两件事情:

  1. 确保有问题的机器具有CUDA兼容卡和最低驱动版本,CUDA Toolkit将您匹配用于构建应用程序(您可以在工具包的发行说明中找到有关这两者的信息)
  2. 分发您使用可执行文件构建应用程序的运行时库(so cudart.so)。如果您使用了工具包中的其他库(如CUBLAS,CUFFT,CUSPARSE等),则也需要包含这些库。 CUDA运行时库是版本化的,您必须拥有与您正在构建的工具包相匹配的库。您可能需要使用LD_LIBRARY_PATH环境变量来确保链接加载程序找到正确版本的库。通常是一个简单的shell脚本,作为规范应用程序,设置LD_LIBRARY_PATH变量并运行构建的可执行文件是执行此操作的最佳方法。

如果你把这两件事情对,它应该是正常的。

+0

@Passiday:你试过这个吗?它有用吗? – talonmies 2013-02-25 22:27:42