Неопределенная ссылка на `nppiMalloc_8u_C1'

Я пытаюсь запустить программу на Ubuntu 16.04, используя библиотеку npp. Чтобы связать библиотеку и программу, я написал эту команду на терминале:

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.

Есть идея, как я могу решить проблему, пожалуйста?

1 ответ

nvcc только ссылки cudart библиотека по умолчанию. Если вы хотите использовать любую другую библиотеку, включенную в инструментарий, такой как NPPВы должны явно связать соответствующие библиотеки следующим образом:

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

Другие вопросы по тегам