CUDA-NPP示例代码

CUDA-NPP示例代码,cuda,Cuda,谁能告诉我如何编译CUDA-NPP示例代码站点上的boxFilter程序make'给出了一个关于common_npplib.mk的错误-我找不到common_npplib.mk,但它包含在makefile中。 无论如何,我试过这个: 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-NPP示例代码站点上的boxFilter程序make'给出了一个关于common_npplib.mk的错误-我找不到common_npplib.mk,但它包含在makefile中。 无论如何,我试过这个:

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
这同样会导致错误。 它找不到-lutinpp_x86_64和-lfreeimage64。 没有这两个函数的编译会产生很多错误,比如未定义对
npp::Image::Image()
等的引用。
需要尽快帮助,谢谢

我复制了你发现的错误。我想你下载了个人的

该档案肯定缺少common_npplib.mk。我将向CUDA SDK报告此错误 团队合作,并将其更正。同时,我认为如果您下载整个SDK,而不是单个示例,您将有更好的编译运气


访问并查找“GPU计算SDK下载”,并下载适合您操作系统的软件。我建议您在直接转到boxFilter并键入make之前,按照自述文件中的说明构建示例——这可能取决于首先构建一些实用程序库。

我下载了您提到的tarball,首先构建静态UtilNPP库。您需要在适当的目录中编辑CUDA_INSTALL_PATH变量,例如defines.mk的第45-47行:

#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_路径正确,等等,希望这对您有所帮助