ubuntu 核顯輸出 獨顯計算

轉載 https://wxzs5.github.io/2018/06/04/dl-env/
本文爲NVIDIA顯卡深度學習環境配教程,主要內容爲在ubuntu環境下安裝NVIDIA顯卡驅動、CUDA以及cuDNN。前面如何配置好Ubuntu基本工作環境請參考安裝Ubuntu後應該做的事,本文提供一種可行穩妥的安裝方法,更詳細的安裝方式還可參考CUDA官方安裝文檔與cuDNN官方安裝文檔。以下操作均在ubuntu 16.04.4 下測試通過,其他發行版本可作參考。

安裝NVIDIA顯卡驅動
NVIDIA顯卡驅動一般有三種安裝方法:

使用PPA源安裝:最安全,最方便。但是未必有最新驅動,而且下載速度可能慢一點,需要準備好梯子。
安裝CUDA時,順便安裝驅動,但未必是最新驅動(不推薦)。
官網下載NVIDIA驅動程序然後本地安裝(下載runfile)。
apt-get安裝(推薦)
卸載原有驅動
若已有N卡驅動,則需要先卸載:

sudo apt-get remove --purge nvidia*

如果是runfile安裝:

sudo chmod +x NVIDIA*.run
sudo ./NVIDIA-Linux-x86_64*.run –uninstall

安裝NVIDIA驅動
然後執行:

sudo add-apt-repository ppa:xorg-edgers/ppa #添加ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa #添加ppa源
sudo apt-get update #更新apt-get
sudo apt-get install nvidia-390 #安裝390版本的driver

然後可能下載較慢但是最安全,這樣安裝系統會自動幫你禁用nouveau,所以這樣安裝完後不用手動禁用nouveau。

runfile 安裝
去NVIDIA驅動程序下載官網下載合適的最新驅動,然後本地安裝(下載runfile)。
禁用Nouveau驅動

grep nvidia /etc/modprobe.d/* /lib/modprobe.d/*
這個很重要 這個遇到 下面的問題很重要 
Unable to load the 'nvidia-drm' kernel module
找這個文件blacklist-nvidia.conf 註釋blacklist nvidia-drm
/lib/modprobe.d/blacklist-nvidia.conf:#blacklist nvidia-drm

打開配置文件:

sudo vim /etc/modprobe.d/blacklist.conf

然後在文本最後添加(禁用nouveau第三方驅動,之後也不需要改回來):

blacklist nouveau
options nouveau modeset=0

然後執行:

sudo update-initramfs -u

重啓後,執行:

lsmod | grep nouveau
如果沒有屏幕輸出,說明禁用nouveau成功。

命令行安裝驅動
在NVIDIA驅動程序下載官網下載合適的最新驅動,然後按下Ctrl+Alt+F1進入命令行模式,進入驅動所在文件夾,輸入以下命令:

sudo service lightdm stop #這會關閉圖形界面,但不用緊張
sudo chmod +x NVIDIA-Linux-x86_64-*.run #給驅動run文件賦予執行權限
sudo ./NVIDIA-Linux-x86_64-*.run –no-opengl-files #後面的參數非常重要,不可省略
–no-opengl-files:表示只安裝驅動文件,不安裝OpenGL文件。這個參數不可省略,否則會導致登陸界面死循環。
–no-x-check:表示安裝驅動時不檢查X服務,非必需。
–no-nouveau-check:表示安裝驅動時不檢查nouveau,非必需。
-Z, --disable-nouveau:禁用nouveau。此參數非必需,因爲之前已經手動禁用了nouveau。
-A:查看更多高級選項

必選參數解釋:因爲NVIDIA的驅動默認會安裝OpenGL,而Ubuntu的內核本身也有OpenGL、且與GUI顯示息息相關,一旦NVIDIA的驅動覆寫了OpenGL,在GUI需要動態鏈接OpenGL庫的時候就引起問題。
之後,按照提示安裝,成功後重啓即可。 如果提示安裝失敗,不要急着重啓電腦,重複以上步驟,多安裝幾次即可。

測試

nvidia-smi #若列出GPU的信息列表,表示驅動安裝成功
nvidia-settings #若彈出設置對話框,亦表示驅動安裝成功
image2

安裝CUDA
參考官方文檔

到CUDA官方下載頁面下載CUDA包(runfile)

建議安裝版本:cuda 9.0 (tensorflow 現在支持得最好的cuda版本)
然後按照以下步驟安裝:

安裝
首先確保文件具有運行權限,然後運行:

sudo ./cuda_*linux.run --no-opengl-libs

–no-opengl-libs:表示只安裝驅動文件,不安裝OpenGL文件。必需參數,原因同上。注意:不是-no-opengl-files。
–toolkit:表示只安裝CUDA Toolkit,不安裝Driver和Samples。
–help:查看更多高級選項。

之後,按照提示安裝即可。依次選擇:

accept #同意安裝
n #不安裝Driver,因爲已安裝最新驅動
y #安裝CUDA Toolkit
<Enter> #安裝到默認目錄
y #創建安裝目錄的軟鏈接
n #不復制Samples,因爲在安裝目錄下有/samples
CUDA Sample測試
#編譯並測試設備 deviceQuery:
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
然後執行:
./deviceQuery

如果測試的最後結果是Result = PASS,說明CUDA安裝成功。

把CUDA加到環境變量中

vim ~/.bashrc

加入以下變量:

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
使設置生效:

source ~/.bashrc

安裝cuDNN
參考官方文檔

到cuDNN官方下載頁面下載與CUDA版本相匹配的cuDNN包,要註冊一個Nvidia賬號,然後纔可以下載。
建議的版本:cudnn 7.0 for cuda 9.0

進入安裝包所在目錄,依次輸入以下命令:

tar -xzvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

至此,關於NVIDIA顯卡環境的一切已全部配置完成。

安裝 Tensorflow GPU 版本
關於GPU加速訓練過程不再強調,推薦tensorflow 1.6 版本,剛好和cuda對應起來,非常穩定。

pip install tensorflow-gpu==1.6 --user #python2
pip3 install tensorflow-gpu==1.6 --user #python3

安裝 Pytorch GPU 版本
到Pytorch官網安裝最新版本就可以了,pytorch用戶體驗很好,一般沒有兼容性問題。選擇你的Python版本和安裝方式,推薦使用pip安裝,選好cuda 9.0,然後官網會生成安裝命令,copy到命令行執行即可安裝。

安裝 MxNet GPU 版本
參考MxNet官網安裝教程安裝最新版本就可以了。

安裝依賴

sudo apt-get update
sudo apt-get install -y wget python

wget https://bootstrap.pypa.io/get-pip.py && sudo python get-pip.py
安裝cuda 9.0 版

pip install mxnet-cu90 --pre --user #python2
pip3 install mxnet-cu90 --pre --user  #python3

其他有一些可選安裝項可以看MxNet官網安裝選擇性安裝。
希望能交流更多技術,關注小白的微信公衆號吧。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章