PyCUDA NPP 库兼容性
Posted
技术标签:
【中文标题】PyCUDA NPP 库兼容性【英文标题】:PyCUDA NPP Library Compatibility 【发布时间】:2014-10-11 06:55:06 【问题描述】:我一直在尝试通过 Python 访问 Nvidia Performance Primitives 库,我在这个站点上发现了一个非常有用的教程,最后一次更新是在 2011 年:http://openvidia.sourceforge.net/index.php/OpenVIDIA/python
但是,在下载 CUDA 6.0 工具包后,我似乎根本找不到任何 CUDA“.dll”文件(就像教程开头附近提到的那些)。感谢这里的回复,我知道文件名应该与教程中的不同,但我找不到。
有人知道导入库的替代方法或命令吗? 任何帮助将不胜感激,如果我错过了任何关键细节,请告诉我。
板:Jetson TK1 操作系统:L4T Ubuntu 14.04(来自https://developer.nvidia.com/jetson-tk1-support) 语言:Python 2.7
【问题讨论】:
本教程非常古老,它指的是包含在 CUDA Toolkit 3.2 中的 DLL(很旧)。 CUDA Toolkit 6.0 中包含的这些 DLL 的最新版本是cudart32_60.dll
、nppc32_60.dll
、npps32_60.dll
和 nppi32_60.dll
。 NPP 已分为 3 个独立的模块(核心、信号处理和图像处理)。
非常感谢您的帮助,非常感谢,尽管快速文件搜索表明我也没有这些文件。事实上,在所有文件中搜索“.dll”时,只返回了 3 个,没有一个链接到 CUDA。我还在问题中附加了“nppi”搜索的输出,以防万一。如果这似乎是错误的,我将重新安装 CUDA 6.0 工具包。另外,也许不言而喻,但操作系统是一个特殊的 linux for tegra (L4T) 发行版。该操作系统以及 CUDA 工具包是从 Nvidia 网站 (developer.nvidia.com/jetson-tk1-support) 下载的。
* 很抱歉我还不能附上图片
A .dll 是 Windows 共享库文件(扩展名)。你不会(通常)在 linux 安装中找到它们。 linux 中的类似功能由 .so 文件提供。例如,您当然应该能够在您的机器上找到libcudart.so
。我并不是说使用您引用的存储库就像将 .dll 转换为 .so 或类似的东西一样简单。如果您引用的存储库是为 Windows 设计的(仅),那么修改它以在 linux 上工作可能不是一件容易的事,尽管它通常可以通过一些努力来实现。
好的,非常感谢。你可以说我的背景不是计算!我将尝试使用 .so 文件,看看是否可以使用它们将库导入 Python。
【参考方案1】:
我刚刚使用了 ctypes 库中的 cdll.LoadLibrary() 命令并调用了“libnppi.so”和“libcudart.so”文件。完美运行,感谢您的帮助!
【讨论】:
以上是关于PyCUDA NPP 库兼容性的主要内容,如果未能解决你的问题,请参考以下文章