1.安装cuda
1.1查看电脑驱动即更新驱动
可以在系统中查看电脑附加驱动,然后应用更改,更改完成后重启电脑
查看是否安装成功
nvidia-smi
显示出现下列,即成功
1.2下载cuda包
根据对应的驱动Driver Version: 535.183.06 CUDA Version: 12.2,本人选择安装 CUDA Version: 12.2.0版本。官网链接为:
下载:
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.run
完成后,运行
sudo sh cuda_12.2.0_535.54.03_linux.run
出现下面,点击continue
输如accept
空格可取消X,即表示不安装。选定好后install即可
安装完成后,配置环境变量:
source ~/.bashrc
检查是否安装成功:
1.3卸载coda
卸载.run
(local)安装的CUDA
很方便,强烈推荐使用.run
的方式安装CUDA
cd /usr/local/cuda-12.2/bin
sudo ./cuda-uninstaller
2.安装CODNN
codnn的安装需要自己注册账号,请自行解决,针对cuda-12.2,本人安装了对应的dodnn版本
链接:https://developer.nvidia.com/rdp/cudnn-archive#a-collapse897-120
安装,其中 cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb为下载的deb包
sudo dpkg -i cudnn-local-repo-$distro-8.x.x.x_1.0-1_amd64.deb
安装过程可能会报错,请按照提示,运行类似代码
sudo cp /var/cudnn-local-repo-*/cudnn-local-*-keyring.gpg /usr/share/keyrings/
安装./cudnn/var/cudnn-local-repo-ubuntu2204-8.9.7.29中的这三个.deb文件
注意,有依赖需求,必须从上往下按顺序安装
cd ./cudnn/var/cudnn-local-repo-ubuntu2204-8.9.7.29
sudo dpkg -i libcudnn8_8.9.7.29-1+cuda12.2_amd64.deb
sudo dpkg -i libcudnn8-dev_8.9.7.29-1+cuda12.2_amd64.deb
sudo dpkg -i libcudnn8-samples_8.9.7.29-1+cuda12.2_amd64.deb
#更新源
sudo apt-get update
验证安装
基础验证,仅验证可以访问并查询到对应版本信息
# 先找到cudnn_version文件在哪
$ whereis cudnn_version.h
cudnn_version.h: /usr/include/cudnn_version.h
# 打印cudnn_version.h中的信息(匹配到“CUDNN_MAJOR”后打印此行和后(After)2两行)
# 我的版本号为CUDNN_MAJOR.CUDNN_MINOR.CUDNN_PATCHLEVEL=8.9.7
$ cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 9
#define CUDNN_PATCHLEVEL 7
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
/* cannot use constexpr here since this is a C-only file */
基础验证,仅验证包被正确安装
$ ldconfig -v | grep cudnn
…………
libcudnn_cnn_train.so.8 -> libcudnn_cnn_train.so.8.9.7
libcudnn.so.8 -> libcudnn.so.8.9.7
libcudnn_adv_infer.so.8 -> libcudnn_adv_infer.so.8.9.7
libcudnn_ops_infer.so.8 -> libcudnn_ops_infer.so.8.9.7
libcudnn_cnn_infer.so.8 -> libcudnn_cnn_infer.so.8.9.7
libcudnn_ops_train.so.8 -> libcudnn_ops_train.so.8.9.7
libcudnn_adv_train.so.8 -> libcudnn_adv_train.so.8.9.7
官方的Sample_demo验证
$ cd /usr/src/cudnn_samples_v8/mnistCUDNN
# 编译the mnistCUDNN sample,成功编译的文件为mnistCUDNN
$ sudo make clean && make
# 运行文件
$ ./mnistCUDNN
……
……
Test passed!
# 说明cuDNN正常运行
sudo make可能会报编译错误:fatal error: FreeImage.h: No such file or director
$ sudo make
CUDA_VERSION is 11010
Linking agains cublasLt = true
CUDA VERSION: 11010
TARGET ARCH: x86_64
HOST_ARCH: x86_64
TARGET OS: linux
SMS: 35 50 53 60 61 62 70 72 75 80 86
test.c:1:10: fatal error: FreeImage.h: No such file or directory
1 | #include "FreeImage.h"
| ^~~~~~~~~~~~~
compilation terminated.
解决:
$ sudo apt install libfreeimage3 libfreeimage-dev
# 重新编译,成功
$ sudo make clean && make
$ ./mnistCUDNN
出现下面即成功:
2.1卸载codnn
卸载cuDNN
查看已经安装的包有什么
$ sudo dpkg -l | grep cudnn
ii cudnn-local-repo-ubuntu2204-8.9.7.29 1.0-1 amd64 cudnn-local repository configuration files
ii libcudnn8 8.9.7.29-1+cuda12.2 amd64 cuDNN runtime libraries
ii libcudnn8-dev 8.9.7.29-1+cuda12.2 amd64 cuDNN development libraries and headers
ii libcudnn8-samples 8.9.7.29-1+cuda12.2 amd64 cuDNN samples
卸载安装的libcudnn8相关包:
# 卸载刚才手动安装的三个libcudnn8相关包,要按依赖顺序卸载
sudo dpkg -P libcudnn8-samples
sudo dpkg -P libcudnn8-dev
sudo dpkg -P libcudnn8
还需要删除安装时使用的本地cuDNN仓库文件:
sudo dpkg -r cudnn-local-repo-ubuntu2204-8.9.7.29
sudo rm -rf /var/cudnn-local-repo-ubuntu2204-8.9.7.29
可以删除导入的GPG密钥:
sudo rm /usr/share/keyrings/cudnn-local-*-keyring.gpg
清理APT缓存,确保系统不会再尝试使用已删除的仓库:
sudo apt-get clean
sudo apt-get update
仍然报错,说明仍然没有在apt仓库中清理干净:
$ sudo apt-get update
Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local InRelease [1,572 B]
Get:2 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29 InRelease
Ign:2 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29 InRelease
Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local InRelease [1,572 B]
Get:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29 Release
Err:3 file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29 Release
File not found - /var/cudnn-local-repo-ubuntu2204-8.9.7.29/Release (2: No such file or directory)
Hit:4 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease
Hit:5 http://mirror.bizflycloud.vn/ubuntu jammy InRelease
Hit:6 http://mirror.bizflycloud.vn/ubuntu jammy-updates InRelease
Hit:7 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:8 http://mirror.bizflycloud.vn/ubuntu jammy-security InRelease
Hit:9 https://packages.microsoft.com/repos/edge stable InRelease
Reading package lists... Done
E: The repository 'file:/var/cudnn-local-repo-ubuntu2204-8.9.7.29 Release' no longer has a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
解决:
# 通过grep找到名为cudnn-local-repo-ubuntu2204-8.9.7.29的仓库在哪
$ grep -r 'cudnn-local-repo-ubuntu2204-8.9.7.29' /etc/apt/sources.list /etc/apt/sources.list.d/
/etc/apt/sources.list.d/cudnn-local-ubuntu2204-8.9.7.29.list:deb [signed-by=/usr/share/keyrings/cudnn-local-08A7D361-keyring.gpg] file:///var/cudnn-local-repo-ubuntu2204-8.9.7.29 /
# 直接删掉
$ sudo rm /etc/apt/sources.list.d/cudnn-local-ubuntu2204-8.9.7.29.list
# 重试
$ sudo apt-get update
Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local InRelease [1,572 B]
Get:1 file:/var/cuda-repo-ubuntu2204-12-4-local InRelease [1,572 B]
Hit:2 https://mirrors.aliyun.com/docker-ce/linux/ubuntu jammy InRelease
Hit:3 http://security.ubuntu.com/ubuntu jammy-security InRelease
Hit:4 http://mirror.bizflycloud.vn/ubuntu jammy InRelease
Hit:5 http://mirror.bizflycloud.vn/ubuntu jammy-updates InRelease
Hit:6 http://mirror.bizflycloud.vn/ubuntu jammy-security InRelease
Hit:7 https://packages.microsoft.com/repos/edge stable InRelease
Reading package lists... Done
再次验证:
$ sudo dpkg -l | grep cudnn
rc cudnn-local-repo-ubuntu2204-8.9.7.29 1.0-1 amd64 cudnn-local repository configuration files
rc 状态表示该包的程序文件已被删除,但配置文件仍然存在
要彻底清除这个包及其残留的配置文件,可以用:sudo dpkg --purge cudnn-local-repo-ubuntu2204-8.9.7.29
彻底删除完成。
链接:CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装_cudnn卸载-CSDN博客
3.安装Anaconda3
Anaconda3-2024.06-1-Linux-x86_64.sh为下载的版本,不用的用户下载的不相同,具体以自己下载本文为主
bash Anaconda3-2024.06-1-Linux-x86_64.sh
一直回车或者yes,q可以快速滑动,配置环境可以yes
conda -V
例子验证:
linux下anaconda下安装pythorch
在Linux下使用Anaconda安装PyTorch的步骤如下:
-
打开终端。
-
确保你的Anaconda已经安装。如果没有安装,请先安装Anaconda。
-
创建一个新的conda环境(可选,但建议这样做以避免依赖冲突):
conda create -n pytorch-env python=3.8
conda activate pytorch-env
-
访问PyTorch官方网站的安装指南页面:https://pytorch.org/get-started/locally/, 使用它的安装命令。对于CUDA版本,如果你不需要GPU支持,可以选择“None”。如果你需要特定版本的CUDA,请选择相应的版本号。
例如,如果你不需要GPU支持,可以使用以下命令安装PyTorch:
conda install pytorch torchvision torchaudio cpuonly -c pytorch
如果你需要特定版本的CUDA支持(例如CUDA 10.2),可以使用以下命令:
Previous PyTorch Versions | PyTorch
conda install pytorch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 pytorch-cuda=12.1 -c pytorch -c nvidia
请根据你的系统配置选择正确的命令。
-
等待conda下载并安装PyTorch及其依赖。
安装完成后,可以通过运行Python并尝试导入PyTorch来测试安装:
-
如果没有错误,并且能打印出版本号,说明PyTorch已经成功安装。
import torch
print(torch.__version__)
链接参考:
CUDA与cuDNN在linux / Ubuntu22.04上的安装与卸载,包含CUDA的.run安装与.deb安装,cuDNN的.tar安装与.deb安装_cudnn卸载-CSDN博客
Ubuntu 20.04(linux) cuda(12)+cudnn的deb方式安装以及验证(宝宝也适用哟)_ubuntu cudnn deb安装-CSDN博客