下載驅動和卸載、禁用自帶驅動程序
1、查看系統顯卡型號

2、從NVIDIA官網下載相應驅動 https://www./Download/index.aspx?lang=en-us

3、卸載Ubuntu自帶的驅動程序
4、禁用自帶的nouveau nvidia驅動
打開/etc/modprobe.d/blacklist.conf
# 圖形化界面可以用gedit打開
sudo gedit /etc/modprobe.d/blacklist.conf
# 也可以用命令行打開
sudo vi /etc/modprobe.d/blacklist.conf
# 如果提示沒有vi就安裝一下: sudo apt install vi
在最后添加如下內容
blacklist nouveau
options nouveau modeset=0
然后保存退出。
5、更新
6、重啟電腦
7、重啟后查看是否已經將自帶的驅動屏蔽了,輸入以下代碼
沒有結果輸出,則表示屏蔽成功
安裝顯卡驅動
8、停止lightdm桌面服務
sudo service lightdm stop
如果提示沒有lightdm,就安裝一下,再執行上面的命令
sudo apt install -y lightdm
(因為后面使用的命令行界面tty1~7 需要lightdm)
接下來按住鍵盤的Ctrl+Alt+F1,如果黑屏就切換到tty2,按Ctrl+Alt+F2
如果Ctrl+Alt+F1后還顯示圖形化桌面就重啟一下電腦,之后不要登錄,在登錄界面直接按Ctrl+Alt+F1或F2,這時應該進了命令行界面了,然后登錄root用戶或者你的普通用戶,如果登錄root用戶時所有密碼都登錄失敗,一般是因為你裝系統時沒設置root密碼的原因,這時就需要設置一下root賬戶密碼,執行以下命令:
然后會讓你輸入你的普通用戶密碼,再輸入兩次root密碼,然后就可以在命令行界面登錄root賬戶了。
9、安裝驅動
(1)首先查看你有沒有安裝gcc

如果沒有安裝gcc一般make也沒安裝,這時需要安裝一下gcc和make
sudo apt install gcc
sudo apt install make
# 或者直接執行
sudo apt install gcc & make # 同時安裝gcc和make,不用一條一條執行了,效果和上面兩條命令相同
(2)執行安裝
cd到你下載的顯卡驅動的目錄
執行:
sudo chmod a+x NVIDIA-Linux-x86_64-450.80.02.run
sudo ./NVIDIA-Linux-x86_64-450.80.02.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-x-check:安裝時關閉X服務
# -no-nouveau-check: 安裝時禁用nouveau
# -no-opengl-files:只安裝驅動文件,不安裝OpenGL文件
下面者兩個按圖中選擇,其他默認就好


安裝完成以后執行
如果顯示如下內容則表示安裝成功

安裝cuda
10、從上面的圖中可以看到我的顯卡最高可以支持cuda11.0(綠色框內)
下載cuda https://developer./cuda-toolkit-archive
首先需要知道不同版本的cuda需要的gcc版本是不同的,cuda11.0與gcc的對應關系如下:

其他cuda版本與gcc的版本關系可以在cuda對應版本后面的document--->Installation Guide Linux下找到,不再贅述。
找到自己需要的cuda版本如下選擇,最下面虛線框內會給出下載和命令

在終端中執行:
wget http://developer.download./compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
執行后下載到99%時,可能會報錯 “S段錯誤”,當時搜了半天有說下載的trunk size太小巴拉巴拉的,搗鼓一通也沒解決,后來猜測可能時因為文件太大了直接wget才報錯的,這時我們用另一個方法進行下載
使用axel進行下載,axel是一個多線程的下載工具,具體是什么請自行百度
11、安裝axel
sudo apt install axel
# 下載cuda
# -n 50 指的是使用50個線程進行下載
axel -n 50 http://developer.download./compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
12、下載完成后進行cuda安裝
cd到下載的cuda所在目錄
# 安裝cuda
sudo sh cuda_11.0.2_450.51.05_linux.run
可能報錯解決方案
如果報下面的錯誤提示,是因為下載的cuda出錯了,重新下載再安裝即可。
Extraction failed.
Ensure there is enough space in /tmp and that the installation package is not corrupt Signal caught, cleaning up
正常安裝的情況下,會出現下面顯示:

這是軟件協議,跟普通軟件安裝時一樣,這時輸入: accept

在Driver處敲回車,選擇不安裝驅動,因為之前已經安裝過驅動程序,這里是因為每個cuda都會自帶一套符合當前版本cuda最低要求的驅動程序,如果這里選擇安裝的驅動的話,在Windows上安裝時會將之前安裝的驅動覆蓋,但是在linux上覆蓋安裝的話,可能會出現錯誤,具體沒有試過,如果想試試可以自行測試。我們使用之前自己下載的驅動。

然后按方向鍵將光標選中最后的Install再回車,開始安裝,過一會兒會顯示如下:

如果顯示如上圖,則表示安裝完成,這時還不算安裝成功,根據上面提示需要配置環境變量,進行如下操作:
# 打開.bashrc文件
gedit ~/.bashrc
在文件末尾輸入如下內容并保存退出。
# 將下面的11.0替換為你的cuda版本,其他不變,如果不知道自己安裝的是哪個版本,就去/usr/local/文件夾下找一下
export PATH=/usr/local/cuda-11.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
完事兒以后,執行如下命令更新變量,使其生效
在終端輸入
如果顯示

至此,cuda的安裝就算完成了。
安裝cudnn
13、下載cudnn https://developer./rdp/cudnn-download
下載cudnn需要登錄賬戶,可以用QQ或者微信注冊一個用戶然后登錄找到對應cuda版本的cudnn點開找到第一個library點擊下載就可以了。

解壓下載好的cudnn壓縮包,然后執行
# 將文件復制到cuda對應的文件夾下
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
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
cuda測試
顯卡驅動+cuda+cudnn都安裝完成了,當然要試一下能不能用了,接下來我們對其進行測試。
如果安裝時安裝了sample,那就可以在終端cd到NVIDIA_CUDA-11.0_Samples所在目錄,一般默認在/home/你的用戶名/NVIDIA_CUDA-11.0_Samples,然后執行make
如果出現如下錯誤,表示沒有安裝g++,那么就執行sudo apt install g++,然后再make

如果不出意外,等一會兒會編譯通過

然后我們cd到NVIDIA_CUDA-11.0_Samples/1_Utilities/deviceQuery下,執行
如果result=PASS表示通過

然后cd到NVIDIA_CUDA-11.0_Samples/1_Utilities/bandwidthTest下,執行:
如果result=PASS表示通過

至此,全部配置完成,如有錯誤歡迎留言指出。
制作不易,轉載請注明出處,謝謝!
|