参考博客:
-
CUDA】如何在 windows 上安装 Ollama 3 + open webui (docker + WSL 2 + ubuntu + nvidia-container):https://blog.csdn.net/smileyan9/article/details/140391667
-
在 Windows 10 上 安装 WSL 2:https://download.csdn.net/blog/column/10991260/137783175
-
Microsoft Store 无法打开:https://support.microsoft.com/zh-cn/account-billing/microsoft-store-%E6%97%A0%E6%B3%95%E6%89%93%E5%BC%80-126a875d-8b72-def1-0af6-d325276a058b
-
[日常灌水]应用商店打不开,检查你的连接,Microsoft Store需要联网,代码0x80072f0d:https://www.bilibili.com/read/cv28254726/
-
商店错误代码0x80072EFD,及已处理证书链,但是在不受信任提供程序信任的根证书中终止:https://www.bilibili.com/read/cv28595889/
-
Win10自定义路径位置安装WSL2 (Ubuntu 20.04) 并配置CUDA:https://blog.csdn.net/weixin_41973774/article/details/117223425
-
Ubuntu20.04安装gcc,g++:https://blog.csdn.net/qq_35731100/article/details/123471564
-
Ubuntu20.04 安装CUDA11.6、cuDNN:https://blog.csdn.net/ssm1122/article/details/139647659
-
【亲测】ubuntu20.4安装TensorRT:https://blog.csdn.net/weixin_40950590/article/details/132690613
-
Win10自定义路径位置安装WSL2 (Ubuntu 20.04) 并配置CUDA:https://blog.csdn.net/weixin_41973774/article/details/117223425
-
安装 wsl2 ubuntu:
-
启用 WSL:
请以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符:
bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 启用"虚拟机平台"( 我的是 win10( 22H2 ) ):
要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:
bash
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
要在 Windows 10(1903,1909)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:
bash
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
- 设置 WSL 2 为默认值:
以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本( 如果不成功,可重启后重新输入一遍 ):
bash
wsl --set-default-version 2
-
离线安装 ubuntu 20.04:
-
找一个可以访问到 微软商店的电脑,下载 ubuntu20.04 的镜像,例如:ubuntu2004.zip,解压,双击里面的 ubuntu2004.exe 即打开 ubuntu20.04 的 terminal 控制台
-
ifconfig 提示找不到命令请使用 sudo apt install openssh-server 安装 ifconfig
-
sudo apt install openssh-server 这样外部可以使用类似 Putty 工具连接进来
-
修改 root 用户的密码:sudo passwd root
-
wsl2 ubuntu20.04 安装 nvidia 显卡驱动:
-
不用安装,因为 win10 宿主机已经安装了,在 ubuntu20.04 终端中输入 nividia-smi 即可显示 nvidia 显卡驱动信息
-
wsl2 ubuntu20.04 安装 cuda 11.6.2:
-
wget https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run( 即 https://developer.nvidia.com/cuda-toolkit-archive --》
点击 "CUDA Toolkit 11.6.2" --》
Operating System 选择 linux、
Architecture 选择 x86_64、
Distribution 选择 ubuntu( 我看很多博客是选择的wsl ubuntu,但是我选择ubuntu后面经过测试也是没问题的 )、
Version 选择 20.04、
Installer Type 选择 runfile(local) )
-
sudo sh cuda_11.6.2_510.47.03_linux.run // 执行时候不显示进度,不要以为死机了
-
Do you accept the above EULA? (accept/decline/quit) --》 选择 accept
-
取消勾选 driver( 如果有的话 ) --》 点击 install // 执行是不显示进度,不要以为死机了
-
配置 cuda 的环境变量:
-
sudo vim ~/.bashrc,在最后行加上如下信息:
bash
export PATH=$PATH:/usr/local/cuda/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
-
更新配置:source ~/.bashrc
-
此时执行 nvcc -V 能显示 cuda 的版本信息了
-
wsl2 ubuntu20.04 安装 cuDNN:
-
下载 cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz:
https://developer.nvidia.com/rdp/cudnn-archive --》
Download cuDNN v8.9.7 (December 5th, 2023), for CUDA 11.x --》
Local Installers for Windows and Linux, Ubuntu(x86_64, armsbsa) --》
Local Installer for Linux x86_64 (Tar)
- 解压 cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz:
bash
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
- 将 cudnn 中对应的头文件、库文件拷贝到 cuda下:
bash
sudo cp include/cudnn*.h /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn* // a 代表a,即所有用户,包括文件所有者、所属组的成员以及其他所有用户。+ 表示添加权限。 r 代表read,即读取权限。
-
wsl2 ubuntu20.04 安装 TensorRT-8.6:
-
下载 TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz:
https://developer.nvidia.com/nvidia-tensorrt-8x-download-->
TensorRT 8.6 GA for Linux x86_64 and CUDA 11.0, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7 and 11.8 TAR Package
- 解压 TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz:
bash
tar -xzvf TensorRT-8.6.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
-
配置 tensorRT 的环境变量:
-
sudo vim ~/.bashrc,在最后行加入如下内容:
bash
export LD_LIBRARY_PATH=/soft/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH
-
source ~/.bashrc // 是配置生效
-
测试 tensorRT是否可用:
bash
1. cd /soft/TensorRT-8.6.1.6/samples/sampleOnnxMNIST
2. make // 执行成功后会在 /soft/TensorRT-8.6.1.6/bin 下生成 sample_onnx_mnist
3. cd /soft/TensorRT-8.6.1.6/bin
4. ./sample_onnx_mnist 成功识别出了手写体数字( win10宿主机--》任务管理器--》观察GPU的利用率和专用 GPU内存的变化,发现确实是在吃显卡 )
-
win10 宿主机安装 Docker( 27.0.3 )、Docker Compose( v2.28.1 ):
-
安装步骤:略
-
测试 docker 能否使用 win10 宿主机的 GPU:
bash
在 wsl2 ubuntu20.04 的控制台中执行:sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark // 注意在 wsl2 ubuntu20.04 中不用安装 docker,只需要在 win10宿主机中安装 docker桌面版就行,然后在 wsl2 ubuntu20.04 中就可以直接使用 docker 命令了
ps:注意事项:
bash
1. 不要在 wsl2 ubuntu20.04 中再单独安装 docker,只需要在 win10 宿主机中安装 docker 桌面版就行,这样在 wsl2 ubuntu20.04 中就可以直接使用 docker 命令了
2. 不要在 wsl2 ubuntu20.04 中去安装 NVIDIA 显卡驱动,只需要在 win10 宿主机中安装 NVIDIA 显卡驱动就行,这样在 wsl2 ubuntu20.04 中就可以直接使用 nvidia-smi 查看英伟达显卡信息了
3. 只需要在 wsl2 ubuntu20.04 中安装 cuda、tensorRT 等