安装了Cuda 8,似乎缺少npp.lib

时间:2017-08-20 07:42:07

标签: c++ cuda

我有一些我继承的旧代码,我正在尝试将其升级到最新的cuda,所以我安装了Cuda 8,但在编译时抱怨无法找到npp.lib,我检查了C:\ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ lib \ x64找不到它,我看到一堆npp {xxx} .lib,其中xxx是更多文本,但没有任何只是npp.lib。这是在最新的cuda中删除了吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

是的,npp.libnppi.lib以及npps.libnppc.lib替换为CUDA 6.5或之前的某处。这在CUDA 8 npp documentation第1章中引用:

  

注意:从6.5版开始,NPP也作为静态库提供(libnppc_static.a,libnppi_static.a,   和Linux,Android和Mac OS上的libnpps_static.a)以及作为共享库提供的。   静态NPP库依赖于一个名为cuLIBOS的常见线程抽象层库(libculibos.a)   现在作为工具包的一部分分发。因此,必须在链接器提供cuLIBOS   正在链接静态库。 libnppi库变得非常大,以便最小化库   加载和CUDA运行时启动时间建议尽可能使用静态库。   为了在使用动态库时提高加载和运行时性能,NPP 8.0现在包含了完整的   除了完整大小的nppi库本身之外,还有一组nppi子库。仅链接到子库   包含应用程序使用的函数可以显着改善加载时间和运行时启动   性能。一些nppi函数在内部调用其他nppi和/或npps函数,所以你可以   需要链接到一些额外的库,具体取决于您的应用程序调用的函数。 nppi   子库分为与nppi头文件分割方式相对应的部分。还有   每个新子库的静态版本。完整大小的nppi库将在下一个版本中弃用   CUDA发布。这个子库列表如下:

     

nppi_arithmetic_and_logical_operations.h中的nppial算术和逻辑运算函数

     

nppi_color_conversion.h中的nppicc颜色转换和采样函数

     

nppicom在nppi_compression_functions.h中的JPEG压缩和解压缩功能

     

nppi_data_exchange_and_initialization.h中的nppidei数据交换和初始化函数

     

nppi过滤和计算机视觉功能在nppi_filter_functions.h

中      

在nppi_geometry_transforms.h中找到的nppig几何变换函数

     

发现nppim形态学操作功能    nppi_morphological_operations.h

     

nppi_statistics_functions.h中的nppist统计和线性变换    nppi_linear_transforms.h

     

nppi_support_functions.h

中的nppisu内存支持函数      

nppitc阈值并比较操作函数    nppi_threshold_and_compare_operations.h

此外,请注意nppi进一步细分。您需要更改链接规范。