1,先在windows上安装最细nvidia驱动 2,而后安装wsl 3,而后进入wsl 执行下面的命令
sudo apt-get remove nvidia*
sudo apt-get remove cuda*
sudo apt-get remove docker*
4,此时你可以测一下windows是不是能驱动wsl 在wsl中执行nvidia-smi 5,安装cuda在wsl中 可以参考如下代码
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.4.0/local_installers/cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-11-4-local_11.4.0-1_amd64.deb
sudo apt-key add /var/cuda-repo-wsl-ubuntu-11-4-local/7fa2af80.pub
sudo apt-get update
apt-get install -y cuda-toolkit-11-4
echo 'export PATH=/usr/local/cuda-11.4/bin:$PATH'>>~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH'>>~/.bashrc
source ~/.bashrc
总之你执行nvidia-smi 之后cuda 安装成功了nvcc -V也成功了 那么重启不好用就检测一下 版本,系统的版本可以高于pytorch 需求版本 如果满足 ,你就多找几个版本的cuda环境变量添加教程一顿添加加重启,就可能成功 还有这样添加环境变量
$sudo vim /etc/profile
在文件末尾添加:
export PATH=$PATH:/usr/local/cuda-8.0/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-8.0/lib64
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda-8.0/lib64
保存并退出,输入命令$source /etc/profile使其生效。
我的~/.bashrc
export PATH=/usr/local/cuda-11.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH$LD_LIBRARY_PATH$PATH$PATH
export CUDA_HOME=/usr/local/cuda-11.4$PAT
建议使用vscode pycharm 链接wsl 这样就方便调试代码 上面的都过了的话 下面这句话是在win 上执行的
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
下面是踩坑代码 坑的主要原因就是么有说明什么地方安装什么 明确一点就是 win 上安装显卡驱动 (可装cuda等不影响wsl) 但是wsl上只能安装cuda cudnn 必须清除掉 nvidia 驱动
https://zhuanlan.zhihu.com/p/149848405
这里有可能遇到
ubuntu更新源报错Certificate verification failed: The certificate is NOT trusted.
这里解决
https://blog.csdn.net/qlexcel/article/details/120642914
https://www.cnblogs.com/legendjslc/p/12667967.html
这个是安装和配置的教程 https://docs.docker.com/desktop/windows/wsl/ 可能会发现win 没有hyper-v 这个网址可以解决 https://www.liulanqi.com/15633.html 就是将下面代码复制到一个.cmd 结尾的任意文件中以管理的身份运行即可
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
|