- Notes
- WSL2 对 cuda 有很好的支持,采样 proxy 的方式,直接使用 windows 的显卡驱动,所以不要在 WSL2 里面装驱动。如果装了需要手动删除(没装过就不用了):
sudo apt-get --purge remove “cublas” “cuda*” “nsight*”
sudo apt-get --purge remove “nvidia”
sudo rm -rf /usr/local/cuda*
sudo apt autoremove - 大约 cuda 11.4~11.6 对 pybind 的支持坏了,所以不要用这些版本,很多 cpp cu 混用的代码都编译不过
- 第一个支持 4090 的 cuda 是 11.8,如果是 4090 必须至少使用 11.8
- 本文是 2023.4.20,如果暂时没有迁移 pytorch 2.0,最建议的版本是 pytorch 1.13.1 + cuda 11.7 + cudnn 8.8
- WSL2 对 cuda 有很好的支持,采样 proxy 的方式,直接使用 windows 的显卡驱动,所以不要在 WSL2 里面装驱动。如果装了需要手动删除(没装过就不用了):
1. 安装 wsl2
- WSL2安装GPU版Pytorch避坑指南
wsl --install
wsl --status
wsl
2. 不要在 wsl 里面安装驱动
- 启动 wsl 之后,直接输入 nvidia-smi 直接就能看到显卡
nvidia-smi
- 如果看不到,需要更新 windows 的显卡驱动,不要在 wsl 里面装驱动
3. 安装 cuda,cudnn
- CUDA Toolkit 11.7
- 选
Linux/.../WSL-Ubuntu
- 或者直接跑下面代码
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-7-local_11.7.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda - 选
- cuDNN Archive
- 脚本参照 WSL2安装GPU版Pytorch避坑指南
- 要是 cudnn 下载不了,就需要打开网页手动下载,需要登录
wget https://developer.nvidia.com/downloads/compute/cudnn/secure/8.8.1/local_installers/11.8/cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz/
tar -xvf cudnn-linux-x86_64-8.8.1.3_cuda11-archive.tar.xz
sudo cp cudnn--archive/include/cudnn.h /usr/local/cuda/include
sudo cp -P cudnn--archive/lib/libcudnn /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* - 激活 cuda path
echo ‘export PATH=/usr/local/cuda/bin:$PATH’ >> ~/.bashrc
echo ‘export CUDA_HOME=/usr/local/cuda’ >> ~/.bashrc
source ~/.bashrc
sudo ldconfig
# ldconfig 如果出错参见下面的 Issue
4. 安装 anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2023.03-Linux-x86_64.sh
bash Anaconda3-2023.03-Linux-x86_64.sh
5. 安装 pytorch
- 创建 conda 环境,起个自己的名字吧
conda create -n pt1.13 python=3.8
conda activate pt1.13 - 参考 NeRFStudio
pip install torch==1.13.1 torchvision functorch --extra-index-url https://download.pytorch.org/whl/cu117
- 检测可用性
python
import torch
torch.version.cuda
torch.cuda.is_available()
torch.backends.cudnn.version()
Issue
-
/usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link
- 参考 https://github.com/microsoft/WSL/issues/5548#issuecomment-966321533
cd /usr/lib/wsl/lib
sudo mkdir backup
sudo mv libcuda.so ./backup/
sudo mv libcuda.so.1 ./backup/
sudo ln -s libcuda.so.1.1 libcuda.so.1
sudo ln -s libcuda.so.1.1 libcuda.so -
ld: cannot find -lcuda: No such file or directory
- https://github.com/NVlabs/tiny-cuda-nn/issues/269#issuecomment-1444552780