Ubuntu18.04安裝 NVIDIA顯卡驅動+CUDA+cuDNN+Pytorch


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

image-20210330112539927

Ubuntu18.04安裝CUDA

下載

官方下載地址: https://developer.nvidia.com/zh-cn/cuda-downloads

image-20210330114122740

安裝

選擇操作系統及安裝類型后, 會提示安裝步驟

# 下載
$ 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

在安裝時, 遇到報錯:

image-20210330123818245

百度到的原因是說已經安裝了多個驅動版本, 見: 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

img

卸載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版本以及操作系統

image-20210330133220766

這里網頁是用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

下載另外三個測試包(黃色標注)

image-20210417095744513

安裝:

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

出現下圖信息則說明安裝成功

image-20210408160500850

Ubuntu18.04安裝Pytorch

進入官網: https://pytorch.org/get-started/locally/, 選擇對應的CUDA和系統版本

image-20210330172319091

這里的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

image-20210330173340435

測試GPU環境是否安裝好

# 進入pytorch的虛擬環境
python
import torch
torch.cuda.is_available()
# true為成功, false為失敗


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM