0

我正在尝试使用 npp 库在 Ubuntu 16.04 上运行程序。为了链接库和程序,我在终端上写了这个命令:

nvcc -L/home/usr/local/cuda-9.0/targets/x86_64-linux/lib  main.cu 

但是,会发生此错误:

/tmp/tmpxft_000048ee_00000000-10_main.o: In function `main':
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0xaf): undefined reference to `nppiMalloc_8u_C1'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0xc6): undefined reference to `nppiMalloc_8u_C1'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x16f): undefined reference to `nppiMinMaxGetBufferHostSize_8u_C1R'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x1a9): undefined reference to `nppiMinMax_8u_C1R'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x20a): undefined reference to `nppiSubC_8u_C1RSfs'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x2c9): undefined reference to `nppiMulC_8u_C1IRSfs'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x3a4): undefined reference to `nppiFree'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x3b0): undefined reference to `nppiFree'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x3c8): undefined reference to `nppiFree'
tmpxft_000048ee_00000000-5_main.cudafe1.cpp:(.text+0x3d4): undefined reference to `nppiFree'
collect2: error: ld returned 1 exit status

我在互联网上没有找到任何东西,而且我是gpu 编程的新手。

请问有什么办法可以解决这个问题吗?

4

1 回答 1

0

nvcc默认情况下仅链接cudart库。如果您想使用工具包中包含的任何其他库,例如NPP,您必须明确链接其相关库,如下所示:

nvcc -L/home/usr/local/cuda-9.0/targets/x86_64-linux/lib main.cu -lnppc -lnppi -lnppial

于 2018-04-10T15:05:52.123 回答