2012-02-06 70 views
1

任何人都可以告訴我如何編譯CUDA-NPP示例代碼網站上的boxFilter程序? 'make'給出了關於common_npplib.mk的錯誤 - 我沒有找到common_npplib.mk,但它包含在makefile中。 無論如何,我試過這個:CUDA-NPP示例代碼

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個給出了很多的錯誤,如undefined參考npp::Image::Image()等 幫助需要儘快,謝謝!

回答

2

我轉載了您發現的錯誤。我假設你下載了個人boxFilter sample

該檔案肯定缺少common_npplib.mk。我會將此錯誤報告給CUDA SDK 團隊並進行更正。同時,我認爲如果你下載整個SDK而不是單個樣本,你將會有更好的運氣編譯。

訪問http://developer.nvidia.com/cuda-toolkit-41並尋找「GPU Computing SDK Downloads」,併爲您的操作系統下載合適的一個。我建議您按照自述文件中的說明操作,直接進入boxFilter並輸入make之前如何構建樣本 - 這可能取決於首先構建一些實用程序庫。

1

我下載了你提到的壓縮包,首先構建靜態的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_PATH是正確的等,等等,希望這可以幫助