Reputation: 743
I have some old code that I inherited and I am trying to upgrade it to the latest cuda, so I installed Cuda 8 but when compiling it complains about not being able to find npp.lib, I checked the C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64 and cant find it, I see a bunch of npp{xxx}.lib where xxx is more text, but nothing that is just npp.lib. Has this been removed in the latest cuda?
Thanks in advance.
Upvotes: 3
Views: 1797
Reputation: 151849
Yes, npp.lib
was replaced by nppi.lib
and npps.lib
and nppc.lib
somewhere around CUDA 6.5 or before. This is referred to in the CUDA 8 npp documentation, chapter 1:
Note: Starting with release 6.5, NPP is also provided as a static library (libnppc_static.a, libnppi_static.a, and libnpps_static.a) on Linux, Android, and Mac OSes in addition to being provided as a shared library. The static NPP libraries depend on a common thread abstraction layer library called cuLIBOS (libculibos.a) that is now distributed as part of the toolkit. Consequently, cuLIBOS must be provided to the linker when the static library is being linked against. The libnppi library is becoming quite large so to minimize library loading and CUDA runtime startup times it is recommended to use the static library(s) whenever possible. To improve loading and runtime performance when using dynamic libraries NPP 8.0 now includes the full set of nppi sub-libraries in addition to the full sized nppi library itself. Linking to only the sub-libraries that contain functions that your application uses can significantly improve load time and runtime startup performance. Some nppi functions make calls to other nppi and/or npps functions internally so you may need to link to a few extra libraries depending on what function calls your application makes. The nppi sub-libraries are split into sections corresponding to the way that nppi header files are split. There are also static versions of each of the new sub-libraries. The full sized nppi library will be deprecated in the next CUDA release. This list of sub-libraries is as follows:
nppial arithmetic and logical operation functions in nppi_arithmetic_and_logical_operations.h
nppicc color conversion and sampling functions in nppi_color_conversion.h
nppicom JPEG compression and decompression functions in nppi_compression_functions.h
nppidei data exchange and initialization functions in nppi_data_exchange_and_initialization.h
nppif filtering and computer vision functions in nppi_filter_functions.h
nppig geometry transformation functions found in nppi_geometry_transforms.h
nppim morphological operation functions found in nppi_morphological_operations.h
nppist statistics and linear transform in nppi_statistics_functions.h and nppi_linear_transforms.h
nppisu memory support functions in nppi_support_functions.h
nppitc threshold and compare operation functions in nppi_threshold_and_compare_operations.h
In addition note above that nppi
is further subdivided. You'll need to change link specifications.
Upvotes: 4