CUDA函数库调用问题解决
CUDA函數庫調用問題解決
2013-09-26 13:59 2567人閱讀 評論(0) 收藏 舉報 分類: cuda(18) C(26)版權聲明:本文為博主原創文章,未經博主允許不得轉載。
問題:
裝好CUDA5.5, samples也安裝成功,編譯也成功了,但是在運行程序的時候出問題了。
譬如進入NVIDIA_CUDA-5.5_Samples/7_CUDALibraries/ 目錄中,執行?./conjugateGradientPrecond?
結果報錯了,居然報錯了:
./conjugateGradientPrecond: error while loading shared libraries: libcublas.so.5.5: cannot open shared object file: No such file or directory
解決:
首先找到libcublas.so.5.5 ?這個文件在哪里,在我的系統Ubuntu12.04,文件在? /usr/local/cuda-5.5/lib64/ 目錄下。
然后 sudo vim /etc/ld.so.conf.d/cuda_lib.conf
在文檔里添加目錄?/usr/local/cuda-5.5/lib64/ ??
寫完后,然后 sudo?ldconfig. ?
記住一定要用sudo,除非你在root下。
解釋:
程序在編譯的時候需要library,在執行的時候更需要library. ? LD_LIBRARY_PATH是編譯時bash shell可以設定的環境變數,
但是程序在運行時,不一定會讀取到這個變數,所以就要設定/etc/ld.so.conf.
但是通常我們會把費系統預設安裝的函數庫放在/etc/ld.so.conf里面,也就是說,今天cuda5.5的library的真實路徑是
? /usr/local/cuda-5.5/libXX
這個路徑放在ld.conf可以讀取到的地方。一般系統管理員的習慣會在ld.so.conf.d這個目錄下再新增一個檔案。檔案名稱就是XXX.conf
然后把library的path加入到這個檔案里面,然后再ldconfig,系統就會重新設定。
總結
以上是生活随笔為你收集整理的CUDA函数库调用问题解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过ssh方式clone项目_参与开源项
- 下一篇: 微信红包随机数字_微信红包随机算法转载