win10安装wsl2(ubuntu20.04)并安装 TensorRT-8.6.1.6、cuda_11.6、cudnn

参考博客:

  1. CUDA】如何在 windows 上安装 Ollama 3 + open webui (docker + WSL 2 + ubuntu + nvidia-container):https://blog.csdn.net/smileyan9/article/details/140391667

  2. 在 Windows 10 上 安装 WSL 2:https://download.csdn.net/blog/column/10991260/137783175

  3. 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

  4. [日常灌水]应用商店打不开,检查你的连接,Microsoft Store需要联网,代码0x80072f0d:https://www.bilibili.com/read/cv28254726/

  5. 商店错误代码0x80072EFD,及已处理证书链,但是在不受信任提供程序信任的根证书中终止:https://www.bilibili.com/read/cv28595889/

  6. Win10自定义路径位置安装WSL2 (Ubuntu 20.04) 并配置CUDA:https://blog.csdn.net/weixin_41973774/article/details/117223425

  7. Ubuntu20.04安装gcc,g++:https://blog.csdn.net/qq_35731100/article/details/123471564

  8. Ubuntu20.04 安装CUDA11.6、cuDNN:https://blog.csdn.net/ssm1122/article/details/139647659

  9. 【亲测】ubuntu20.4安装TensorRT:https://blog.csdn.net/weixin_40950590/article/details/132690613

  10. Win10自定义路径位置安装WSL2 (Ubuntu 20.04) 并配置CUDA:https://blog.csdn.net/weixin_41973774/article/details/117223425

  11. 安装 wsl2 ubuntu:

  12. 启用 WSL:

请以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符:

bash 复制代码
        dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  1. 启用"虚拟机平台"( 我的是 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
  1. 设置 WSL 2 为默认值:

以管理员身份打开 PowerShell,然后运行以下命令以将 WSL 2 设置为 WSL 的默认版本( 如果不成功,可重启后重新输入一遍 ):

bash 复制代码
         wsl --set-default-version 2
  1. 离线安装 ubuntu 20.04:

  2. 找一个可以访问到 微软商店的电脑,下载 ubuntu20.04 的镜像,例如:ubuntu2004.zip,解压,双击里面的 ubuntu2004.exe 即打开 ubuntu20.04 的 terminal 控制台

  3. ifconfig 提示找不到命令请使用 sudo apt install openssh-server 安装 ifconfig

  4. sudo apt install openssh-server 这样外部可以使用类似 Putty 工具连接进来

  5. 修改 root 用户的密码:sudo passwd root

  6. wsl2 ubuntu20.04 安装 nvidia 显卡驱动:

  7. 不用安装,因为 win10 宿主机已经安装了,在 ubuntu20.04 终端中输入 nividia-smi 即可显示 nvidia 显卡驱动信息

  8. wsl2 ubuntu20.04 安装 cuda 11.6.2:

  9. 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) )

  1. sudo sh cuda_11.6.2_510.47.03_linux.run // 执行时候不显示进度,不要以为死机了

  2. Do you accept the above EULA? (accept/decline/quit) --》 选择 accept

  3. 取消勾选 driver( 如果有的话 ) --》 点击 install // 执行是不显示进度,不要以为死机了

  4. 配置 cuda 的环境变量:

  5. sudo vim ~/.bashrc,在最后行加上如下信息:

bash 复制代码
            export PATH=$PATH:/usr/local/cuda/bin
            export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
  1. 更新配置:source ~/.bashrc

  2. 此时执行 nvcc -V 能显示 cuda 的版本信息了

  3. wsl2 ubuntu20.04 安装 cuDNN:

  4. 下载 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)

  1. 解压 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
  1. 将 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,即读取权限。
  1. wsl2 ubuntu20.04 安装 TensorRT-8.6:

  2. 下载 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

  1. 解压 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
  1. 配置 tensorRT 的环境变量:

  2. sudo vim ~/.bashrc,在最后行加入如下内容:

bash 复制代码
            export LD_LIBRARY_PATH=/soft/TensorRT-8.6.1.6/lib:$LD_LIBRARY_PATH
  1. source ~/.bashrc // 是配置生效

  2. 测试 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内存的变化,发现确实是在吃显卡  )
  1. win10 宿主机安装 Docker( 27.0.3 )、Docker Compose( v2.28.1 ):

  2. 安装步骤:略

  3. 测试 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 等
相关推荐
写点什么啦1 小时前
[debug]不同的window连接ubuntu的vscode后无法正常加载kernel
linux·vscode·ubuntu·debug
wellnw1 小时前
[ubuntu]编译共享内存读取出现read.c:(.text+0x1a): undefined reference to `shm_open‘问题解决方案
linux·ubuntu
oushaojun25 小时前
ubuntu中使用ffmpeg和nginx推流rtmp视频
nginx·ubuntu·ffmpeg·rtmp
命里有定数9 小时前
Ubuntu问题 -- 通过远程修改文件配置ubuntu服务器的静态IP (不需要到服务器现场) (通过NetworkManager)
运维·服务器·tcp/ip·ubuntu·网卡
命里有定数12 小时前
Ubuntu问题 - 显示ubuntu服务器上可用磁盘空间 一条命令df -h
服务器·ubuntu·数据集
命里有定数16 小时前
Ubuntu问题 -- 设置ubuntu的IP为静态IP (图形化界面设置) 小白友好
linux·tcp/ip·ubuntu·ip
基极向上的三极管18 小时前
【Linux学习】【Ubuntu入门】1-8 ubuntu下压缩与解压缩
linux·ubuntu
云计算运维丁丁20 小时前
Linux四剑客及正则表达式
linux·运维·服务器·ubuntu
sun0077001 天前
Ubuntu networkmanager
linux·运维·ubuntu
xx小寂1 天前
ubuntu16.04在ros使用USB摄像头-解决could not open /dev/video0问题
ubuntu·机器人