首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CUDA-NPP示例代码

CUDA-NPP示例代码
EN

Stack Overflow用户
提问于 2012-02-07 07:59:58
回答 2查看 2.5K关注 0票数 1

谁能告诉我如何编译在CUDA-NPP示例代码站点上找到的boxFilter程序?‘'make’给出了一个关于common_npplib.mk的错误--我没有找到common_npplib.mk,但它包含在makefile中。不管怎么说,我试过了:

代码语言:javascript
复制
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。没有这两个的编译会给出很多错误,比如对npp::Image::Image()的引用未定义等。需要尽快帮助,谢谢!

EN

回答 2

Stack Overflow用户

发布于 2012-02-07 10:31:08

我已经复制了你发现的错误。我假设你下载了个人boxFilter sample

该归档文件肯定缺少common_npplib.mk。我会将此错误报告给CUDA SDK团队并进行更正。同时,我认为如果你下载整个SDK而不是单独的示例,你会有更好的编译机会。

访问http://developer.nvidia.com/cuda-toolkit-41并查找"GPU Computing SDK Downloads",然后下载适合您的操作系统的软件。我建议您在直接转到boxFilter并输入make之前,按照自述文件中的说明构建示例--这可能取决于首先构建一些实用程序库。

票数 2
EN

Stack Overflow用户

发布于 2012-02-10 21:25:04

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

代码语言:javascript
复制
#ifdef cuda-install
    CUDA_INSTALL_PATH := /usr/global/cuda/4.1/cuda
#endif

然后,我从包含源代码的目录中编写了以下构建脚本:

代码语言:javascript
复制
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是正确的等希望这会有所帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9169147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档