Пример кода CUDA-NPP - PullRequest
       9

Пример кода CUDA-NPP

1 голос
/ 07 февраля 2012

Может кто-нибудь сказать мне, как скомпилировать программу boxFilter, найденную на сайте примера кода CUDA-NPP? 'make' выдает ошибку о common_npplib.mk - я не нахожу common_npplib.mk, но он включен в make-файл. Во всяком случае, я попробовал это:

g++ -I../../common/UtilNPP -I../../../shared/inc -I../../common/FreeImage -I/usr/global/cuda/4.0/cuda/include -L/usr/global/cuda/4.0/cuda/lib64 -L../../common/FreeImage/lib/linux -L../../../shared/lib -lnpp -lcudart -lUtilNPP_x86_64 -lfreeimage64 -o bf boxFilterNPP.cpp

Это снова приводит к ошибкам. Не удается найти -lUtilNPP_x86_64 и -lfreeimage64. Компиляция без этих 2 дает много ошибок, таких как неопределенная ссылка на npp::Image::Image() и т. Д. Помощь нужна как можно скорее, спасибо!

Ответы [ 2 ]

2 голосов
/ 07 февраля 2012

Я воспроизвел найденную вами ошибку.Я предполагаю, что вы загрузили отдельный пример boxFilter .

В этом архиве определенно отсутствует common_npplib.mk.Я сообщу об этой ошибке команде CUDA SDK и исправлю ее.В то же время, я думаю, что если вы загрузите весь SDK, а не отдельные образцы, вам повезет с компиляцией.скачайте подходящий для вашей ОС.Я предлагаю вам следовать инструкциям в файле readme, чтобы узнать, как создавать примеры перед тем, как перейти непосредственно к boxFilter и набрать make - это может зависеть от того, что нужно сначала собрать некоторые служебные библиотеки.

1 голос
/ 10 февраля 2012

Я скачал tarball, на который вы ссылаетесь, сначала создав статическую библиотеку UtilNPP. Вам нужно будет отредактировать переменную CUDA_INSTALL_PATH, например, строки 45-47 define.mk в соответствующей директории:

#ifdef cuda-install
    CUDA_INSTALL_PATH := /usr/global/cuda/4.1/cuda
#endif

Затем я написал / получил следующий сценарий сборки из каталога, содержащего исходный код:

module load cuda/4.1

shlib="-L/usr/global/cuda/4.1/cuda/lib64/ -lnpp"
inc="-I../../common/UtilNPP -I../../common/FreeImage/include -I../../../shared/inc    -I/usr/global/cuda/4.1/cuda/include/"
stlib="../../common/lib/libUtilNPP_x86_64.a ../../common/FreeImage/lib/linux /libfreeimage64.a"

nvcc $inc $stlib $shlib boxFilterNPP.cpp -o foo.x

. / Foo.x работает нормально; вам, конечно, нужно будет изменить путь установки cuda в соответствии с вашей установкой, и если вы не используете модульную систему, убедитесь, что ваш LD_LIBRARY_PATH верен и т. д., и т. д., надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...