關於CUDA和cuDNN的安裝


不得不說,安裝顯卡驅動和CUDA、cuDNN是深度學習工作者的必備技能。

  • CUDA(Compute Unified Device Architecture),是NVIDIA推出的運算平台。
  • cuDNN 專門針對Deep Learning框架設計的一套GPU計算加速方案。

雖然安裝這不是學習的目的,但卻是很多人不得不面對 deep learning 第一課。因為網上框架的不同、版本的不同,所以開發環境會經常換來換去~

就像我今天的經歷,因為之前的代碼是在TitanX上完成的,當時的環境是ubuntu16.04+Tensorflow 1.4+cuda 8+cudnn 6。今天換了計算機,一來是以為沒什么,結果環境不對,程序無法運行。新的服務器上是1080ti,軟件環境是Tensorflow 1.6+cuda 9 +cudnn 7,當時裝的時候,沒怎么考慮版本的問題,所以現在需要修改環境。

因為這個以后也可能常用到,所以記錄下來,備查。

基本安裝順序:
0. 安裝顯卡驅動(這個不需要反復裝,只需要第一次安裝完成,以后則無需在再動)

  1. 卸載和安裝 CUDA
  2. 安裝 cuDNN 庫

1. 卸載已安裝 CUDA

# 使用apt 卸載已經安裝的 CUDA
sudo apt autoremove cuda 

# 如果/usr/local/目錄下,還有cuda的文件目錄,刪了吧
cd /usr/local/
rm -rf cuda-8.0/

2. 安裝CUAN

2.1 下載

首先,前往下載:CUDA Toolkit Download,根據自己實際需要。

2.2 安裝cudn

我選擇了cuda_8.0.61_375.26_linux.run。按照官方給的命令進行安裝:

# 安裝cuda
sudo sh cuda_8.0.61_375.26_linux.run

# 安裝提供的補丁
sudo sh cuda_8.0.61.2_linux-run

安裝cuda的時候,注意安裝過程中給你提供的選項,第一次輸入accept的,接受說明條款。然后選擇是是否安裝顯卡驅動,一般選No,因為最好還是自己去找對應的驅動安裝才比較靠譜。而且,如果像我這樣換環境,自然也不需要去裝驅動了。其他的默認yes就行。

2. 3設置環境變量

打開~/.bashrc文件,將下面內容添加到文件的最后:

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

運行:

source ~/.bashrc

打開 /etc/profile文件,將下面內容添加到文件的最后:

export PATH=“/usr/local/cuda/bin:$PATH”

然后,運行:

source /etc/profile

2.4 測試是否安裝成功

cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
sudo ./deviceQuery

3. 安裝卸載 cuDNN

cuDNN 實際是一個庫,並不存在安裝過程。

下載對應的對應的版本的壓縮包(需要注冊登陸),下載對應版本的壓縮包,解壓,將對應的頭文件和動態鏈接庫文件放到對應的位置,然后配置環境變量。

  1. 下載:

    下載地址[NVIDIA cuDNN]

    找到對應版本的cudnn。我下載的是 cuDNN v6.0 Library for Linux

  2. 解壓

  3. 移動文件

    # 保險起見,刪除原來存在的cudnn文件
    sudo rm -rf /usr/local/cuda/include/cudnn.h
    sudo rm -rf /usr/local/cuda/lib64/libcudnn*
    # 拷貝文件到固定位置
    sudo cp include/cudnn.h /usr/local/cuda/include/
    sudo cp lib64/lib* /usr/local/cuda/lib64/
    
  4. 一些相關的修改

    cd /usr/local/cuda/lib64/
    #刪除原有文件
    sudo rm -rf libcudnn.so libcudnn.so.6
    
    # 修改權限
    sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
    
    # ldconfig通常在系統啟動時運行,安裝了一個新的動態鏈接庫時,就需要手工運行這個命令
    sudo ldconfig
    

后記

完成上面的步驟,就成功安裝了環境。

在terminal上運行tensorflow 的 Demo實驗,是沒有問題的。

有一個小意外,我在ubuntu上用的是pycharm編輯器,在pycharm直接運行是報錯的:

ImportError: libcublas.so.6.0: cannot open shared object file: No such file or directory.

沒找文件?可是我的文件,明明就在那里啊!

最后檢索知道,要給pycharm單獨配置環境變量。

LD_LIBRARY_PATH=/usr/local/cuda/lib64


以上。

(有些截圖是寫博客需要,在windows上完成的,實驗過程是在ubuntu 16.04下。歡迎交流。)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM