Ubuntu18.04安裝NVIDIA顯卡驅動
查看顯卡硬件型號
sudo ubuntu-drivers devices
# 結果
== /sys/devices/pci0000:3a/0000:3a:00.0/0000:3b:00.0 ==
modalias : pci:v000010DEd00002484sv000010DEsd0000146Bbc03sc00i00
vendor : NVIDIA Corporation
manual_install: True
driver : nvidia-driver-460-server - distro non-free
driver : nvidia-driver-460 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
可以看到推薦的驅動recommended
為: nvidia-driver-460 - distro non-free
如果提示該命令找不到, 則需要安裝驅動查看工具
sudo apt-get install ubuntu-drivers-common
安裝驅動
上面命令有一個推薦安裝recommended
的驅動版本nvidia-driver-460 - distro non-free
, 如果同意安裝該版本的驅動, 則直接執行:
sudo ubuntu-drivers autoinstall
當然也可以使用 apt-get
命令安裝自己想要安裝的版本,比如我想安裝 460
這個版本號的版本,終端輸入:sudo apt-get install nvidia-460
就自動安裝了
查看是否安裝成功
執行命令, 如果出現如下顯卡信息, 則說明安裝成功, 如果沒有出現顯卡信息可以嘗試重啟解決
nvidia-smi
Ubuntu18.04安裝CUDA
下載
官方下載地址: https://developer.nvidia.com/zh-cn/cuda-downloads
安裝
選擇操作系統及安裝類型后, 會提示安裝步驟
# 下載
$ wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run
# 賦予執行權限
$ sudo chmod a+x cuda_11.1.0_455.23.05_linux.run
# 安裝
$ sudo sh cuda_11.1.0_455.23.05_linux.run
在安裝時, 遇到報錯:
百度到的原因是說已經安裝了多個驅動版本, 見: https://shliang.blog.csdn.net/article/details/108994449
卸載驅動的步驟為:
1、查看系統中安裝了哪些NVIDIA的驅動
sudo dpkg --list | grep nvidia-*
2、卸載NVIDIA驅動:
sudo apt-get purge nvidia*
或
sudo apt-get remove --pure nvidia\*
這里我沒有卸載已有的驅動, 而是直接運行了下面的run命令, 添加了一些參數 在run命令加上了參數--override
:
$ sudo sh cuda_11.1.0_455.23.05_linux.run --toolkit --silent --override
--silent
是靜默安裝, 會直接跳過在安裝過程中詢問的提示, 如果想按照安裝提示來選擇安裝步驟, 可以不加上該參數--override
應該是能夠覆蓋之前安裝過的驅動
配置環境變量
默認安裝路徑為/usr/local/cuda-11.1
clear@ubuntu-server:~$ ls -l /usr/local | grep cuda
lrwxrwxrwx 1 root root 21 Mar 30 12:29 cuda -> /usr/local/cuda-11.1/
drwxr-xr-x 15 root root 4096 Mar 30 12:30 cuda-11.1
編輯~/.bashrc
文件
vim ~/.bashrc
# 添加下面兩行
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
激活~/.bashrc
設置
source ~/.bashrc
測試cuda是否安裝成功
方式一: 查看版本信息, nvcc -V 查看是否安裝成功
執行命令nvcc -V
clear@ubuntu-server:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Tue_Sep_15_19:10:02_PDT_2020
Cuda compilation tools, release 11.1, V11.1.74
Build cuda_11.1.TC455_06.29069683_0
方式二: 編譯安裝cuda目錄下的測試用例
cd /usr/local/cuda-11.1/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
卸載cuda
如果安裝cuda失敗,或者是安裝的版本不能夠匹配,此時可能面臨重新安裝,同樣也要卸載之前安裝的cuda, 直接刪除安裝位置的cuda文件:
sudo rm -rf /usr/local/cuda
sudo rm -rf /usr/local/cuda-11.1
Ubuntu18.04安裝cuDNN
下載
官網: https://developer.nvidia.com/rdp/cudnn-download, 需要自己注冊才能下載
選擇對應的CUDA版本以及操作系統
這里網頁是用windows的Google Chrome瀏覽器訪問的, 而最終是需要下載到linux系統中
於是在這里右鍵下載鏈接然后復制鏈接, 再去linux系統中使用wget
命令下載該鏈接, 但是發現返回結果是403 forbidden
, 無法下載, 那么可以點擊下載鏈接, 讓Google Chrome瀏覽器進行下載, 然后在下載內容頁面右鍵這個下載任務, 然后復制這里的下載鏈接, 就可以在linux上進行下載了
解壓
tar zxvf cudnn-11.2-linux-x64-v8.1.1.33.tgz
注意: cudnn解壓后的文件夾名稱為cuda ,將對應文件復制到 /usr/local中的cuda內
把解壓文件中的文件復制到cuda的安裝目錄下就可以了
sudo cp cuda/lib64/* /usr/local/cuda-11.1/lib64/
sudo cp cuda/include/* /usr/local/cuda-11.1/include/
測試cuDNN
下載另外三個測試包(黃色標注)
安裝:
sudo dpkg -i libcudnn8_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.1.1.33-1+cuda11.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.1.1.33-1+cuda11.2_amd64.deb
執行:
cp -r /usr/src/cudnn_samples_v8/ /home/alex/cudnn_samples_v8
cd /home/alex/cudnn_samples_v8/mnistCUDNN
make make
./mnistCUDNN
出現下圖信息則說明安裝成功
Ubuntu18.04安裝Pytorch
進入官網: https://pytorch.org/get-started/locally/, 選擇對應的CUDA和系統版本
這里的CUDA版本為11.1, 選擇的安裝方式是pip, 執行官網指定的安裝命令
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
注:
- 安裝之前一定要查看CUDA的版本, 可以使用下面命令查看CUDA版本
cat /usr/local/cuda/version.txt
或者
nvcc -v
nvcc這個命令需要配置CUDA環境變量后才能使用
vim ~/.bashrc
# 添加下面兩行
export PATH=/usr/local/cuda-11.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH
- pip安裝命令一定要使用官網的命令, 不能直接
pip install torch,torchvision, torchaudio
, 因為默認的pip源下載的包版本可能與cuda所需的版本不符, 不過官網的pip下載可能會有點慢, 需要耐心等待
我之前就是直接使用的默認pip版本進行安裝, 所以在運行pytorch時出現報錯:
GeForce RTX 3070 with CUDA capability sm_86 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60 sm_61 sm_70 sm_75 compute_37.
意思是安裝的CUDA的算力是sm_86, 和現在安裝的PyTorch支持的算力不匹配, 所以需要重新安裝對應的pytorch版本
這個網站可以知道顯卡的算力: https://developer.nvidia.com/zh-cn/cuda-gpus#compute
測試GPU環境是否安裝好
# 進入pytorch的虛擬環境
python
import torch
torch.cuda.is_available()
# true為成功, false為失敗