zoukankan      html  css  js  c++  java
  • Win10配置WSL2安装Ubuntu,并支持Nvidia CUDA 环境

    参考指南:

    1 适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

    https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

    2 WSL2的Ubuntu中使用CUDA入门教程

    https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2

    3 Nvidia的WSL用户指南

    https://docs.nvidia.com/cuda/wsl-user-guide/index.html

    4 发布可在wsl2上运行的CUDA

    https://developer.nvidia.com/blog/announcing-cuda-on-windows-subsystem-for-linux-2/

     

    Windows Subsystem of Linux(WSL)是Windows 10 功能特性之一,提供了一个容器化环境,使用户能够直接在 Windows 上运行本机 Linux 命令行工具。WSL 主要是开发人员的工具。如果您正在 Linux 容器中处理计算工作负载,可以使用您熟悉的同一本机 Linux 工具在 Windows PC 上本地开发和测试工作。

    借助 WSL 2 和 GPU 远程化 (GPU-PV) 技术,Microsoft 允许您运行针对 GPU 硬件的计算工作负载,从而在 Windows 上为 Linux 支持添加GPU加速功能。在本文的稍后部分,我们将更详细地介绍 WSL 2 以及如何添加 GPU。

    1 安装预览版本NVIDIA驱动

    NVIDIA 驱动程序开发团队向 CUDA 驱动程序添加了对 WDDM 模型和 GPU-PV 的支持,以便能够在 Windows 上的 Linux 上运行该模型和 GPU-PV。

    它仍然是一个预览驱动程序,不会发布,直到在 Windows 10 中的 WSL 中的官方 GPU 支持发布。有关版本的信息,请参阅CUDA WSL 2 下载

    https://developer.nvidia.com/cuda/wsl/download

     2 安装预览版本Win10

    在设置->更新和安全中,开启 Microsoft Windows预览体验计划,安装最新的 Windows 版本上的 WSL 版本,并设置容器以 WSL 2 模式运行。

    以管理员身份运行PowerShell,执行以下命令:

    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
    wsl --set-default-version 2

    3 GPU 容器安装与配置

    除了 DirectX 和 CUDA 支持外,NVIDIA 还在 WSL 2 中增加了对 NVIDIA 容器工具包(以前 nvidia-docker2)的支持。数据科学家准备在本地硬件下运行或在云中执行的容器化 GPU 工作负载现在可以在 Windows PC 上的 WSL 2 内按样运行。

    首先,从应用商店安装Ubuntu:

    如果没有安装最新的内核启动Ubuntu会被阻止,需要对内核进行更新:

     通过以下命令对WSL内核进行更新:

    wsl.exe --update

    安装docker和cuda工具库:

    $ curl https://get.docker.com | sh
    $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    
    $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    
    $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    
    $ curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
            
    $ sudo apt-get update
    
    $ sudo apt-get install -y nvidia-docker2

    运行测试容器:

    docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark    

    4 常用wsl命令

    # 查看已安装系统
    wsl --list --verbose
    
    wsl --set-default-version 2
    
    wsl.exe --list -v command # 查看运行wsl版本
    
    wsl cat /proc/version # 检查内核版本
    
    wsl.exe --shutdown Ubuntu
    
    wsl.exe --update
    
    wsl --set-version Ubuntu 2 # 切换发行版运行的WSL版本
  • 相关阅读:
    Java实现 LeetCode 242 有效的字母异位词
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 212 单词搜索 II
    Java实现 LeetCode 344 反转字符串
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
    Java实现 洛谷 P1208 [USACO1.3]混合牛奶 Mixing Milk
  • 原文地址:https://www.cnblogs.com/dadream/p/13640143.html
Copyright © 2011-2022 走看看