1. 程式人生 > >Ubuntu 16.04 單顯示卡安裝Nvidia驅動+GTX750顯示卡安裝CUDA 9.1+cuDNN 7.1.3

Ubuntu 16.04 單顯示卡安裝Nvidia驅動+GTX750顯示卡安裝CUDA 9.1+cuDNN 7.1.3

1.移除原有nvidia驅動

$ sudo apt-get remove --purge nvidia* 2.禁用nouveau驅動

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

// 在檔案末尾新增:

blacklist vga16fb blacklist nouveau blacklist rivafb blacklist rivatv

blacklist nvidiafb

$ sudo update-initramfs -u 3.進入字元介面:ctrl+alt+F1 4.開始安裝

[1] 關閉桌面系統服務

* 

如果是unity桌面執行第一條,如果是gnome桌面執行第二條

$ sudo systemctl stop lightgdm.service $ sudo systemctl stop gdm.service [2] 使用以下命令安裝nvidia的官方閉源驅動,這裡使用runfile安裝

* 

一切預設即可 * 驅動自行下載,按照顯示卡型號選擇即可

$ sudo ./NVIDIA-Linux-x86_64-390.48.run --no-opengl-files * [3] 重啟系統

[4] 執行命令:nvidia-smi

5.安裝CUDA 9.1,這裡使用runfile安裝 [1] 進入字元介面:ctrl+alt+F1 [2] 關閉圖形介面:同上 [3] 執行以下命令:

$ chmod +x cuda_9.1.85_387.26_linux.run

$ sudo ./cuda_9.1.85_387.26_linux.run [4] 關於安裝選項:在安裝開始時會讓你閱讀一份協議書,按住Enter鍵,直到讀完

* 

Do you accept the previously read EULA? accept * Install NVIDIA Accelerated Graphics Driver for Linux-X86_64 xxx.xxx? no * Install the CUDA 9.1 Toolkit? yes * Enter Toolkit Location,這個直接按Enter即可 * Do you want to install a symbolic link at /usr/local/cuda? yes * Install the CUDA 9.1 Samples? yes * Enter CUDA Samples Location,這個直接按Enter即可 * 注意如果:在安裝顯示卡驅動之前完成了 SLAM 和 ROS 的配置,就不會出現缺失庫的情況

如果出現missing recommended libraries,執行以下命令即可

$ sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev [6] 重啟圖形介面:將上面的命令中 stop 換為 restart 即可,登入系統

* 

此時如果沒有出現迴圈登入,則基本安裝成功

[7] 重啟系統 [8] 輸入命令:

* 

如果沒有出現:/dev/nvidia-uvm 則為安裝不全

$ ls /dev/nvidia*

[9] 針對第8步中安裝不全的情況:

* 

/sbin/modprobe nvidia

if [ “$?” -eq 0 ]; then

Count the number of NVIDIA controllers found.

NVDEVS=lspci | grep -i NVIDIA N3D=echo "$NVDEVS" | grep "3D controller" | wc -l NVGA=echo "$NVDEVS" | grep "VGA compatible controller" | wc -l

N=expr $N3D + $NVGA - 1 for i in seq 0 $N; do mknod -m 666 /dev/nvidia$i c 195 $i done

mknod -m 666 /dev/nvidiactl c 195 255

else exit 1 fi

/sbin/modprobe nvidia-uvm

if [ “$?” -eq 0 ]; then

Find out the major device number used by the nvidia-uvm driver

D=grep nvidia-uvm /proc/devices | awk '{print $1}'

mknod -m 666 /dev/nvidia-uvm c $D 0 else exit 1 fi [10] 重啟系統,再次執行命令: $ ls /dev/nvidia*

[11] 新增環境變數,並重啟系統:

$ sudo vim /etc/profile

// 在所有環境變數之後新增如下內容:

export PATH=/usr/local/cuda-9.1/bin:PATHexportLDLIBRARYPATH=/usr/local/cuda9.1/lib64:PATH export LD_LIBRARY_PATH=/usr/local/cuda-9.1/lib64:LD_LIBRARY_PATH [12] 驗證安裝:

* 

驗證驅動:$ cat /proc/driver/nvidia/version * 驗證CUDA Toolkit:$ nvcc -V * 編譯測試:使用Sample,正常編譯都會成功,一般時間為30分鐘

$ cd NVIDIA_CUDA-9.1_Samples

$ make * 執行編譯的程式:

$ cd bin/x86_64/linux/release/

$ ./deviceQuery

最後出現:Result=Pass 表示成功

* 

執行:$ ./bandwidthTest,成功的判斷同上

6.使用deb包安裝cuDNN 7.1.3

* 

下載需要註冊成為nvidia的開發者 * 注意版本對應 * 可以使用的安裝方式有:tgz,deb * Sample目錄為:/usr/src/cudnn_samples_v7/ * 安裝包: * libcudnn7_7.1.3.16-1+cuda9.1_amd64.deb * libcudnn7-dev_7.1.3.16-1+cuda9.1_amd64.deb * libcudnn7-doc_7.1.3.16-1+cuda9.1_amd64.deb

$ sudo dpkg -i *.deb * 編譯測試:最後會出現Test passed!就表示成功

$ cp -r /usr/src/cudnn_samples_v7/ ~/ $ cd ~/cudnn_samples_v7/mnistCUDNN

$ make clean && make

$ ./mnistCUDNN

* 

如果出現:./mnistCUDNN: error while loading shared libraries: libcudart.so.9.1: cannot open shared object file: No such file or directory,是因為庫沒有正確連結

$ sudo cp /usr/local/cuda-9.1/lib64/libcudart.so.9.1 /usr/local/lib/libcudart.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcublas.so.9.1 /usr/local/lib/libcublas.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcurand.so.9.1 /usr/local/lib/libcurabd.so.9.1 && sudo ldconfig

$ sudo cp /usr/local/cuda-9.1/lib64/libcudnn.so.7 /usr/local/lib/libcudnn.so.7 && sudo ldconfig