CUDA/CuDNN/PyTorch 环境配置

前置 | Python

参考 [1] 查找版本对应,切换 Python 版本

ModuleNotFoundError 解决。想要什么模块就装完再构建,如 BZIP2

1
apt install libbz2-dev

手动编译安装

1
2
./configure --enable-optimizations
make altinstall

版本切换

1
2
# 直接在 .bashrc 修改了
alias python='/usr/local/bin/python3.10'

卸载 (针对手动编译)

1
2
3
# 由于源码安装,删除目录便是卸载
root@pve:~/share/project/mynn# rm -rf /usr/local/bin/python3.10
root@pve:~/share/project/mynn# rm -rf /usr/local/bin/python3.10-config

CUDA

首先 nvidia-smi 查看当前驱动支持的最高 CUDA 版本。版本检查

1
2
3
4
5
6
7
whereis cuda
cuda: /usr/lib/cuda /usr/include/cuda
sudo dpkg -l | grep cuda
ii libcuda1:amd64 535.183.01-1~deb12u1 amd64 NVIDIA CUDA Driver Library
ii libcudart11.0:amd64 11.8.89~11.8.0-5~deb12u1 amd64 NVIDIA CUDA Runtime Library
...
# sudo dpkg --remove libcuda1:amd64

建议切换版本,不卸载旧版本

1
2
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run
sudo sh cuda_11.6.2_510.47.03_linux.run

修改 /root/.bashrc 后,检查版本已更改为 11.6

1
2
3
4
5
6
7
8
9
export PATH="/usr/local/cuda-11.6/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.6/lib64:$LD_LIBRARY_PATH"

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Tue_Mar__8_18:18:20_PST_2022
Cuda compilation tools, release 11.6, V11.6.124
Build cuda_11.6.r11.6/compiler.31057947_0

CuDNN

检查当前 CUDNN 版本

1
2
>>> print(torch.backends.cudnn.version())
90100

更换 CuDNN

1
2
3
4
tar -xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz
# 移入 CUDA-11.6 目录
sudo cp include/cudnn* /usr/local/cuda-11.6/include/
sudo cp lib/libcudnn* /usr/local/cuda-11.6/lib64/

检查,该结果与 torch.backends.cudnn.version() 打印结果 (仍为 90100) 不一致

1
2
3
4
5
6
7
8
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 4
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#endif /* CUDNN_VERSION_H */

PyTorch

这几个版本要匹配起来 (CUDA/CuDNN/PyTorch) 才能正常运行。为了 CUDA 做了妥协,调整 PyTorch,指定 1.13 版本安装

1
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

尚不支持 NumPy 2,降到 Numpy 1。


  1. https://juejin.cn/post/7329572942274363430 ↩︎