0.前言
CUDA(Compute Unified Device Architecture)是由NVIDIA公司推出的一種高性能并行計(jì)算架構(gòu)。它利用GPU的并行處理能力,能夠顯著提高計(jì)算效率,尤其在科學(xué)計(jì)算、數(shù)據(jù)分析、深度學(xué)習(xí)等領(lǐng)域具有廣泛應(yīng)用。CUDA提供了一套編程模型和API,使開(kāi)發(fā)人員能夠利用GPU并行執(zhí)行計(jì)算任務(wù),從而獲得更快的計(jì)算速度。同時(shí),CUDA還提供了豐富的開(kāi)發(fā)工具和文檔,方便開(kāi)發(fā)人員進(jìn)行并行計(jì)算開(kāi)發(fā)和調(diào)試。
安裝順序
開(kāi)始之前,我建議大家在搭建深度學(xué)習(xí)環(huán)境時(shí)的安裝順序?yàn)椋?br> 顯卡驅(qū)動(dòng)——CUDA——cuDNN——Anaconda——pytorch以及其他各種依賴包
版本選擇
強(qiáng)烈建議大家查看一下顯卡、驅(qū)動(dòng)、cuda、cudnn、pytorch、python、tensorflow等等等等錯(cuò)綜復(fù)雜的依賴包的對(duì)應(yīng)關(guān)系,不要悶頭照搬別人的安裝教程,一定要選擇好適合自己的各種版本,這個(gè)博主的總結(jié)非常全面,是一個(gè)很好的參考~
https://blog.csdn.net/qq_41498261/article/details/120067750-----------------------------------------------------------------------------------------------------------------
1.安裝cuda
到官網(wǎng)下載11.3
https://developer.nvidia.com/cuda-toolkit-archive
執(zhí)行官網(wǎng)給出的命令
~$ wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
#下載完成后,先對(duì)安裝包提升權(quán)限
~$ chmod 755 cuda_11.3.0_465.19.01_linux.run
#安裝
~$ sudo sh cuda_11.3.0_465.19.01_linux.run
不選擇驅(qū)動(dòng),其他都選擇上
鍵盤(pán)上下鍵,選擇install,按空格選中
接下來(lái)就是配置過(guò)程了
#首先切換到自己的根目錄,修改.bashrc文件
cd
vim .bashrc
#進(jìn)入.bashrc文件后,按鍵盤(pán)i鍵,在文件最后插入這幾行
export PATH=/usr/local/cuda-11.3/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.3/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-11.3
#插入之后,命令行按esc鍵,然后輸入:wq
#即可保存文件
#轉(zhuǎn)回命令行執(zhí)行以下語(yǔ)句,查看cuda版本
nvcc -v
#輸出意為:cuda版本11.3
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Sun_Mar_21_19:15:46_PDT_2021
Cuda compilation tools, release 11.3, V11.3.58
Build cuda_11.3.r11.3/compiler.29745058_0
2.安裝cuDNN
2.1下載安裝包和3個(gè)驗(yàn)證文件
到官網(wǎng)查看自己需要的版本
https://developer.nvidia.com/rdp/cudnn-archive
我下載了cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar安裝包
和另外三個(gè)驗(yàn)證文件
2.2解壓安裝包
切換到下載位置,運(yùn)行以下命令
tar -zxvf cudnn-11.3-linux-x64-v8.2.0.53.tgz
報(bào)錯(cuò):tar: 歸檔文件中異常的 EOF
tar: 歸檔文件中異常的 EOF
是因?yàn)橄螺d包損壞,沒(méi)有下載完。重新下載完整的包即可
2.3配置相關(guān)庫(kù)
完成解壓后,將一些包拷貝到對(duì)應(yīng)文件夾
sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
此時(shí)可以查看cudnn的版本:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#輸出:意為cudnn版本8.2.0
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 2
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */
2.4驗(yàn)證cudnn是否安裝成功
首先切換到三個(gè)驗(yàn)證文件的目錄下(也就是大的紅框框選的文件)
然后安裝這三個(gè)驗(yàn)證文件,依次執(zhí)行以下語(yǔ)句
#依次執(zhí)行
sudo dpkg -i libcudnn8_8.2.0.53-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.0.53-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.0.53-1+cuda11.3_amd64.deb
拷貝相關(guān)文件,并切換到目標(biāo)文件路徑,編譯文件
sudo cp -r /usr/src/cudnn_samples_v8/ $HOME #拷貝相關(guān)文件
cd $HOME/cudnn_samples_v8/mnistCUDNN #切換到目標(biāo)文件路徑
sudo make clean && make #編譯文件
2.4.1 記錄過(guò)程中的一些報(bào)錯(cuò)
報(bào)錯(cuò):
cp: 無(wú)法創(chuàng)建普通文件’/home/niu/cudnn_samples_v8/samples_common.mk’: 權(quán)限不夠
解決方案:
加上在cp命令前加上 sudo即可
sudo cp -r /usr/src/cudnn_samples_v8/ $HOME
報(bào)錯(cuò):
編譯mnistCUDNN時(shí)報(bào)錯(cuò):
/bin/sh: 1: cannot create test.c: Permission denied
/bin/sh: 1: cannot create test.c: Permission denied
解決方案:
安裝libfreeimage3
sudo apt-get install libfreeimage3 libfreeimage-dev
#然后重新編譯
sudo make clean && sudo make
報(bào)錯(cuò):
nvcc warning : The ‘compute_35’, ‘compute_37’, ‘sm_35’, and ‘sm_37’ architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
解決方案
可以忽略,因?yàn)?strong>Makefile中采用了CUDA中的compute capability 3.5、3.7和5.0這幾種計(jì)算能力,而這幾種計(jì)算能力CUDA11.3中已經(jīng)棄用了。
#重新執(zhí)行編譯好的文件
./mnistCUDNN
最后輸出 **Test passed!**即為安裝成功咯
3.卸載cuda
3.1切換到安裝文件夾
進(jìn)入cuda安裝文件夾,一般是
/usr/local/cudaa-11.6/bin
#切換到cuda安裝目錄,根據(jù)自己的cuda版本進(jìn)行更改
cd /usr/local/cuda-11.6/bin
3.2執(zhí)行自動(dòng)卸載的腳本
#執(zhí)行自動(dòng)卸載的腳本
sudo ./cuda-uninstaller
#在所有類目上按空格,選中,刪除
3.3查看是否卸載成功
#查看現(xiàn)在的cuda版本
$ nvcc -V
可以看到已經(jīng)變成默認(rèn)的cuda10.1版本了
4.卸載cuDNN
4.1查看安裝的cuDNN
我這里安裝了cuDNN7和cuDNNn8
#查看現(xiàn)存的cudnn
~$ sudo dpkg -l | grep cudnn
ii cudnn-local-repo-ubuntu2004-8.5.0.96 1.0-1 amd64 cudnn-local repository configuration files
ii cudnn-local-repo-ubuntu2004-8.6.0.163 1.0-1 amd64 cudnn-local repository configuration files
ii libcudnn7 7.6.0.64-1+cuda10.0 amd64 cuDNN runtime libraries
ii libcudnn7-dev 7.6.0.64-1+cuda10.0 amd64 cuDNN development libraries and headers
ii libcudnn8 8.6.0.163-1+cuda11.8 amd64 cuDNN runtime libraries
ii libcudnn8-dev 8.6.0.163-1+cuda11.8 amd64 cuDNN development libraries and headers
4.2刪除三個(gè)包
執(zhí)行以下三條命令,刪除samples、dev、和lib包
注意,一定要按順序執(zhí)行文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-753838.html
#注意,要按順序執(zhí)行
sudo dpkg -r libcudnn8-samples
sudo dpkg -r libcudnn8-dev
sudo dpkg -r libcudnn8
4.3刪除repo包
查看現(xiàn)存的cudnn文件,發(fā)現(xiàn)還有一個(gè)cudnn-local-repo-ubuntu2004-8.5.0.96 存在,也需要?jiǎng)h掉。
這個(gè)包和上述三個(gè)的刪除不一樣,需要執(zhí)行以下語(yǔ)句刪除:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-753838.html
sudo dpkg -l | grep cudnn #查看現(xiàn)存cudnn文件
ii cudnn-local-repo-ubuntu2004-8.5.0.96 1.0-1 amd64 cudnn-local repository configuration files
ii cudnn-local-repo-ubuntu2004-8.6.0.163 1.0-1 amd64 cudnn-local repository configuration files
#這個(gè)包和上述三個(gè)的刪除不一樣,需要執(zhí)行以下語(yǔ)句刪除:
sudo apt-get purge cudnn-local-repo-ubuntu2004-8.5.0.96
#再次查看還有什么cudnn存在
sudo dpkg -l | grep cudnn
#沒(méi)有輸出即為卸載成功
到了這里,關(guān)于Ubuntu20.04下載cuda11.3+cuDNN8.2.0,卸載cuda11.6+cuDNN8.4全記錄【保姆級(jí)教程】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!