簡體   English   中英

編譯CUDA尋找錯誤的CUDA版本

[英]Compiling CUDA looks for wrong CUDA version

在Ubuntu上,我以前安裝了CUDA 6.5,並想升級到CUDA 7.0。 因此,我刪除了/usr/local/cuda-6.5中的目錄,並將CUDA 7.0安裝到/usr/local/cuda-7.0中。 然后,我將/ usr / local / cuda上的符號鏈接更改為指向/usr/local/cuda-7.0。 在我的bash.rc文件中,我還相應地更新了環境變量:

export CUDA_HOME=/usr/local/cuda-7.0
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64
export PATH=${CUDA_HOME}/bin:${PATH}

如果我鍵入“ nvcc --version”,則將得到預期的結果:

Cuda compilation tools, release 7.0, V7.0.27

但是,我現在正在編譯一些使用CUDA的代碼(准確地說是Caffe深度學習庫),並且出現以下錯誤消息:

error while loading shared libraries: libcudart.so.6.5: cannot open shared object file: No such file or directory

因此,出於某種原因,它仍在尋找CUDA 6.5庫,而不是CUDA 7.0庫。 為什么是這樣? 如何告訴編譯器尋找7.0庫? 我在編譯的源代碼中找不到對libcudart.so.6.5的任何引用,因此CUDA編譯器本身正在尋找錯誤的版本。

顯然,您沒有遵循正確的卸載方法。 請注意,如果您要安裝不同版本的工具包,則它們之間不會有任何沖突,您可以將它們都保留。 在安裝過程中,系統會要求您將/ usr / local / cuda-xy鏈接到/ usr / local / cuda。 檢查CUDA 7.0在LINUX上入門的 2.6節。

如上面的鏈接所述,正確的卸載方法是根據安裝方式使用以下命令(即, 運行方法或rpm方法):

$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl
Use the following command to uninstall a Driver runfile installation:
$ sudo /usr/bin/nvidia-uninstall
Use the following commands to uninstall a RPM/Deb installation:
$ sudo apt-get --purge remove <package_name> # Ubuntu
$ sudo yum remove <package_name> # Fedora/Redhat/CentOS
$ sudo zypper remove <package_name> # OpenSUSE/SLES

我希望這個對你有用; 我不了解Caffe深度學習庫,但是我假設您之前沒有通過提供cuda 6.5編譯器及其庫的PATH對其進行配置。 如果是這種情況,請先嘗試正確卸載以前的cuda 6.5,然后從頭開始配置庫,然后再進行安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM