Ubuntu16.04 安裝顯卡驅動 + CUDA + cudnn

系統環境:Ubuntu16.04

顯卡:GTX2080Ti

一、安裝顯卡驅動

1、先禁用自帶的 nouveau nvidia驅動 (important!)

sudo apt-get purge nvidia*   //卸載原有的nvidia驅動,新系統不需要

#創建一個文件
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

並添加如下內容:

blacklist nouveau
options nouveau modeset=0

或者

blacklist nouveau  
blacklist lbm-nouveau  
options nouveau modeset=0  
alias nouveau off  
alias lbm-nouveau off

用下面命令,更新一下文件

sudo update-initramfs -u

修改後需要重啓系統。確認下Nouveau是已經被你幹掉,修改後需要重啓系統。確認下Nouveau是已經被你幹掉,
使用命令:lsmod | grep nouveau
如果nouveau禁用成功該命令執行後沒有顯示,否則該命令後會顯示nouveau 的相關信息(可以禁用之前用該命令查看nouveau的相關信息)。

2、在NVIDIA 官網根據條件選擇下載最新的驅動即可

下載地址: http://www.geforce.cn/drivers

(將驅動複製到路徑/home/下,方便在非圖形化界面安裝時的命令輸入)

3.開始安裝

先按Ctrl + Alt + F1到控制檯,首先輸入用戶名和密碼登錄,然後關閉當前圖形環境,通過下面的命令。

sudo service lightdm stop

安裝驅動程序

sudo sh NVIDIA-Linux-x86_64-xxx.run  //sh--是顯示安裝過程

然後根據提示完成驅動安裝。
安裝完成後,重新啓動圖形環境

sudo service lightdm start

重啓系統後,執行下面的命令查看驅動的安裝狀態

nvidia-smi
nvidia-settings

出現下圖所示內容,表示安裝成功


 

下面的命令查看顯卡驅動

cat /proc/driver/nvidia/version

4、可能出現的問題
(1) 、Ubuntu 系統循環登錄問題,可能原因是驅動安裝失敗。
解決辦法:重新進入到控制檯界面,關閉圖形顯示後卸載剛纔安裝的驅動程序
命令:

sudo sh NVIDIA-Linux-x86_64-xxx.run  --uninstall

(2) 、顯卡驅動安裝成功,各個測試命令都沒問題,但是,Ubuntu顯示不正常。
原因是顯卡使用了轉接頭(自己因爲這個問題折騰了兩天(我是顯卡用DVI轉VGA後連接的顯示器)),顯卡驅動反覆重裝,通過命令顯示安裝成功,但是就是顯示有問題!!!這是坑啊),連接顯示器的視頻線用直連線就可以。

二、安裝CUDA

1、下載CUDA

在英偉達官網(最新版): https://developer.nvidia.com/cuda-downloads 

CUDA歷史版本下載地址:https://developer.nvidia.com/cuda-toolkit-archive

這裏是nvidia給出的官方安裝指南(遇到問題時可以查閱):
http://docs.nvidia.com/cuda/cuda-installation-guide-linux/#axzz4HIBXnwyt

根據自己的機器下載最新版的cuda,下載的是runfile(local)文件。


2、安裝cuda8.0
1、在你的用戶登錄界面按ctrl+alt+F1進入tty模式,關閉圖形界面

sudo service lightdm stop

cd切換到下載的文件目錄下進行安裝:

sudo sh cuda_8.0.44_linux.run

啓動安裝程序,一直按空格到最後。
注意:執行後會有一系列提示讓你確認,但是注意,有個讓你選擇是否安裝nvidia驅動時,一定要選擇否:
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
此處一定選擇否
因爲前面我們已經安裝了更加新的nvidia367,所以這裏不要選擇安裝。其餘的都直接默認或者選擇是即可。

大概有以下選項
輸入accept接受條款
輸入n不安裝nvidia圖像驅動,之前已經安裝過了
輸入y安裝cuda 8.0工具
回車確認cuda默認安裝路徑:/usr/local/cuda-8.0
輸入y安裝CUDA 8.0 Samples,以便後面測試
回車確認CUDA 8.0 Samples默認安裝路徑,該安裝路徑測試完可以刪除

安裝成功後會出現如下界面:

===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-8.0
Samples: Installed in /home/textminer
Please make sure that
– PATH includes /usr/local/cuda-8.0/bin
– LD_LIBRARY_PATH includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-8.0/bin
Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-8.0/doc/pdf for detailed information on setting up CUDA.
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 361.00 is required for CUDA 8.0 functionality to work.
To install the driver using this installer, run the following command, replacing with the name of this run file:
sudo .run -silent -driver
Logfile is /opt/temp//cuda_install_6583.log


2、cuda安裝後配置
安裝完畢後,再聲明一下環境變量,並將其寫入到 ~/.bashrc 的尾部:

CUDA安裝後在/usr/local/目錄下產生,cuda,cuda-8.0 兩個文件夾,如下如所示

解釋:
cuda ----是軟鏈接,指向的是cuda-8.0,因此對cuda的操作實際上就是對cuda-8.0文件夾的操作,
下面的操作中的*/cuda-8.0/* 等操作其實可以換成 /cuda/
cuda-8.0 --是cuda實際安裝的文件(認爲本次按照的是cuda-8.0)
打開~/.bashrc文件

sudo gedit ~/.bashrc

將以下內容寫入到~/.bashrc尾部:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

關閉文件,使環境變量生效

source ~/.bashrc

3、測試cuda的Samples

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make    //該命令首次執行即可
sudo ./deviceQuery

執行完之後出現下圖,如果顯示的是一些關於GPU的信息,則說明安裝成功了。

4、cuda 卸載

sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl

此方法同樣適用於其他版本的CUDA卸載
運行完成之後,使用下面的命令刪除殘餘

sudo rm -r /usr/local/cuda-8.0

三、安裝cudnn

下載cudnn相應版本.
下載地址:https://developer.nvidia.com/rdp/cudnn-download
cudnn歷史版本: https://developer.nvidia.com/rdp/cudnn-archive
cd到下載的文件目錄下,解壓:

tar -zxvf cudnn-8.0-linux-x64-v5.1.tgz 

解壓後,在當前目錄下產生一個cuda目錄

cd cuda/include/ 
sudo cp cudnn.h /usr/local/cuda-8.0/include/  #複製頭文件 
cd ../lib64    #打開lib64目錄 
sudo cp lib* /usr/local/cuda-8.0/lib64/    #複製庫文件 
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*    #給所有用戶增加這些文件的讀權限 

建立軟連接,在終端輸入

cd /usr/local/cuda-8.0/lib64/     #進入到lib64目錄進行操做
sudo rm -rf libcudnn.so libcudnn.so.6 #刪除原有動態文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成軟銜接
sudo ln -s libcudnn.so.6 libcudnn.so #生成軟鏈接

注意此處的 libcudnn.so.6.0.21、libcudnn.so.6 都是根據cudnn解壓之後的文件定的,我用的是cudnn-8.0-linux-x64-v6 的所以此處是libcudnn.so.6.0.21、libcudnn.so.6

查看cudnn版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

 

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