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.dllnppc32_60.dllnpps32_60.dllnppi32_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 库兼容性的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 兼容性库

Android 兼容性库。最佳实践

库版本之间的 Swift 兼容性

如何在 iOS 上构建具有最大兼容性的静态库?

TailwindCSS 和 PrimeNG 库之间的兼容性问题

Android 支持包/兼容性库 - 使用 v4 还是 v13?