Ubuntu NVIDIA顯卡驅動+CUDA安裝(多版本共存)

NVIDIA顯卡驅動 

1.禁止集成的nouveau驅動

solution 1 (recommand)

# 直接移除這個驅動(備份出來)
mv /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko /lib/modules/3.0.0-12-generic/kernel/drivers/gpu/drm/nouveau/nouveau.ko.org
# 更新來禁用nouvea
sudo update-initramfs -u
# 重啓
sudo reboot
# 查看版本
cat /proc/version

solution 2

sudo vim /etc/modprobe.d/blacklist-nouveau.conf   
# 在該文件後添加一下幾行:
blacklist nouveau
options nouveau modeset=0
# 更新來禁用nouvea
sudo update-initramfs -u
# 重啓
sudo reboot

solution 3

# 如果不允許修改,修改屬性命令
sudo chmod 666 /etc/modprobe.d/.d/blacklist.conf
# 用gedit編輯器打開blacklist.conf
sudo gedit /etc/modprobe.d/blacklist.conf
# 在該文件後添加一下幾行:
blacklist rivafb
blacklist vga16fb
blacklist nouveau
blacklist nvidiafb
blacklist rivatv
# 更新來禁用nouveau
sudo update-initramfs -u
# 重啓
sudo reboot

2.卸載以安裝NVIDIA顯卡驅動

sudo apt-get remove --purge nvidia*
sudo sh ./驅動名.run --uninstall 

3.安裝NVIDIA顯卡驅動 

solution1 apt安裝(recommand)

# search the recommand driver, 384 is recommanded for my PC
sudo ubuntu-drivers devices
# install driver
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-384 nvidia-settings
reboot
nvidia-smi
# 安裝Nvidia Prime 雙顯卡切換指示器
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator

solution2 手動安裝

sudo /etc/init.d/gdm stop # 或者 sudo service lightdm stop
sudo chmod +x NVIDIA**.run
sudo sh ./驅動名.run -no-x-check -no-nouveau-check -no-opengl-files
sudo /etc/init.d/gdm start # 或者 sudo service lightdm start

其他相關命令 

nvidia-smi 
nvidia-settings
lspci|grep VGA
lsmod|grep nvidia
cat /proc/driver/nvidia/version
sudo lshw -c video

CUDA、CUDNN安裝

cuda

solution1(recommend)

若是使用深度學習框架,強烈推薦使用anaconda。用conda安裝tensorflow/pytorch的GPU版本時,會自動安裝相應版本的cuda、cudnn,安全可靠還方便。若想使用不同版本的cuda,只需創建一個新的conda 虛擬環境,重新安裝即可。可參考https://blog.csdn.net/DreamLike_zzg/article/details/88575308

solution2 手動安裝

cuda8.0    https://developer.nvidia.com/cuda-80-ga2-download-archive

# choose and download :(local)deb Base Installer for Ubuntu
# cd Downloads
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda

# after installation, open the bashrc
sudo gedit ~/.bashrc 
# the following configure should be added in bashrc
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

# active
source ~/.bahsrc
# check cuda version
cat /usr/local/cuda/version.txt 
# test
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery 

cuda9.0  https://developer.nvidia.com/cuda-toolkit-archive
安裝第一個cuda時Installer Type無所謂,但安裝第二個cuda時建議選擇runfile[local]

# 安裝相關依賴
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev 
# 運行runfile文件
sudo sh cuda_9.0.176_384.81_linux.run
#..一堆協議說明...,直接按q退出協議說明.
Do you accept the previously read EULA?: accept/decline/quit: accept  #接受協議
You are attempting to install on an unsupported configuration. Do you wish to continue? 
((y)es/(n)o) [ default is no ]: y 
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
y)es/(n)o/(q)uit: n  #是否顯卡驅動包,由於已經安裝顯卡驅動,選擇n
Install the CUDA 9.0 Toolkit? 
(y)es/(n)o/(q)uit: y #是否安裝工具包,選擇y
Enter Toolkit Location  [default is /usr/local/cuda-8.0]: #工具包安裝地址,默認回車即可
/usr/local/cuda-9.0 is not writable. 
Do you wish to run the installation with ‘sudo’? ((y)es/(n)o): y 
Please enter your password: 

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y  #添加鏈接,指定該鏈接後會將cuda指向這個新的版本,如果你之前安裝過另一個版本的cuda,除非你確定想要用這個新版本的cuda,否則這裏就建議選no,
Install the CUDA 9.0 Samples? (y)es/(n)o/(q)uit: y #安裝樣例,我默認到了home下
Enter CUDA Samples Location [ default is /root ]:  #樣例安裝地址默認即可
 
Installing the CUDA Toolkit in /usr/local/cuda-9.0 … 
Installing the CUDA Samples in /home/xxx … 
Copying samples to /home/xxx/NVIDIA_CUDA-9.0_Samples now… 
Finished copying samples.

安裝完成後,symbolic link:/usr/local/cuda 指向 /usr/local/cuda-9.0。

 切換cuda時,重新建立軟連接

sudo rm -rf cuda
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda

查看當前cuda版本

cat /usr/local/cuda/version.txt

安裝 cuda-toolkit

sudo apt install nvidia-cuda-toolkit
nvcc --version

cudnn7    

cuda與cudnn關係:https://www.jianshu.com/p/622f47f94784
刪除原有cudnn,直接終端輸入

sudo rm -rf /usr/local/cuda/include/cudnn.h
sudo rm -rf /usr/local/cuda/lib64/libcudnn*

下載cudnn
download 4 files:  https://developer.nvidia.com/rdp/cudnn-archive
cuDNN v7.1.4 Library for Linux
cuDNN v7.1.4 Runtime Library for Ubuntu16.04 (Deb)
cuDNN v7.1.4 Developer Library for Ubuntu16.04 (Deb)
cuDNN v7.1.4 Code Samples and User Guide for Ubuntu16.04 (Deb)

解壓安裝包 

# cd ~/Downloads
tar -xzvf cudnn-9.0-linux-x64-v7.1.tgz 
sudo dpkg -i libcudnn7_7.1.4.18-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.1.4.18-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.1.4.18-1+cuda9.0_amd64.deb

# cd ~/Downloads # cudnn-9.0-linux-x64-v7.1.tgz的解壓路徑
# 安裝
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/

cd /usr/local/cuda/lib64
sudo chmod +r libcudnn.so.7.0.5
sudo ln -sf libcudnn.so.7.0.5 libcudnn.so.7  
sudo ln -sf libcudnn.so.7 libcudnn.so     
sudo ldconfig

# test an example
sudo cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
sudo make
./mnistCUDNN # success if print the "Result = PASS" and the information of your GPU

 查看當前cudnn version

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

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