基础环境
-
windows 环境: Windows 10
- 版本:22H2
操作系统版本:22621.2283
- 版本:22H2
-
WSL 系统
-
版本:2.2.4.0
- Ubuntu-20.04
一、自定义位置安装Ubuntu
- 确保已经安装 WSL
- 在微软应用商店搜索时务必输入全名 Ubuntu20.04,并安装 Ubuntu20.04(注意: 应用商店默认的 Ubuntu 版本号已经更新至 24.04,目前发现,改变24.04的安装位置可能导致虚拟机无法启动)
自定义位置安装过程与C盘安装教程相似。最大区别在于,我们按照 教程 或 官方文档 从微软商店下载Ubuntu之后,不要点击 启动 ,而是要将安装包复制到我们想要的位置,之后 Ubuntu 就会被安装到该位置。具体步骤如下
1.1 确保安装程序已经下载
首先,请按照教程 或 官方文档 从头进行下去,一直到从微软商店下载好 Ubuntu20.04 为止。在从微软商店下载好 Ubuntu20.04 之后,在微软商店显示为 已拥有。
在按照教程复制完安装程序,并且完成 Ubuntu 安装后,我们可以在 开始菜单
-> 右键图标
,将这个原始安装包卸载。
注意:现在请不要卸载!
1.2 打开微软商店应用默认安装目录
使用微软商店下载的应用安装包会默认保存在 C:\Program Files\WindowsApps
目录下。
事实上 WindowsApps
文件需要授权才能访问。可以按照如下方式修改用户权限。
1.3 找到Ubuntu安装包的默认下载位置
如果文件夹里面有 ubuntu<版本号>.exe
文件,这就是我们要找的文件夹。
ubuntu<版本号>.exe
就是Ubuntu的安装程序;安装完成后,该程序还可用来启动或访问Ubuntu。
1.4 复制安装包和相关文件到想要的安装位置
如果我们想把 Ubuntu 安装在 E
盘的 ubuntu2004
文件夹下,就得确保这个文件夹存在。如果不存在,就要手动创建:
接着,把 ubuntu<版本号>.exe
安装包所在文件夹下的所有文件复制到你想要安装 Ubuntu 的文件夹。
1.5 运行安装包,安装Ubuntu
打开复制到的文件夹,双击运行 ubuntu<版本号>.exe
即可,等待 ubuntu 系统初始化。初始化完毕后,按照C盘安装教程第8步配置好用户名和密码,完成安装。
如果安装出现了错误可以按照以下思路检查
- Ubuntu 的版本是否为
20.04
如果不是可以卸载后重新执行 1.1 - 1.5 - 卸载掉刚刚安装的 WSL Ubuntu 发行版从头开始走一遍教程即可
- 重走一遍官方文档的 1-5 步
在第一次运行ubuntu<版本号>.exe时,如果出现如下异常情况之一:
“WSL运行状态、开/关机、卸载”一节,卸载掉刚刚安装的WSL Ubuntu发行版(如果卸载时发现刚刚并没有安装成功,则不用卸载),然后从头开始走一遍教程即可。
最终,目录下会多出一个 ext4 的虚拟硬盘文件,它就是Ubuntu WSL2虚拟机挂载的 硬盘。在WSL2 Ubuntu 虚拟机中下载资源、安装软件,都会让这个虚拟硬盘文件变大。
1.6 删除原始安装包和相关文件
正如教程开篇提到的,在开始菜单中可以找到原始安装包的应用图标,右键将其卸载。卸载后Ubuntu从微软商店的已安装列表中消失。
1.7 让Ubuntu快捷启动
二、WSL2 Ubuntu 20.04 使用 NVIDIA CUDA
作为一个虚拟机,WSL2居然可以访问到物理宿主机的GPU设备!!!
微软撰写的为WSL2启用GPU加速的官方文档。
GPU acceleration in WSL | Microsoft Docs
在本节中我们主要介绍 WSL2 Ubuntu 20.04 使用 Nvidia CUDA的操作方法,遵循NVIDIA公司给出的官方教程:
CUDA on WSL :: CUDA Toolkit Documentation (nvidia.com)
在对应主机上安装对应版本的显卡驱动,依次选择 显卡类型、显卡型号,找到对应版本的驱动,下载安装,并重启主机
驱动下载地址
安装完成后,使用 nvidia-smi.exe
检测显卡版本
2.1 WSL2 Ubuntu安装NVIDIA CUDA工具包
WSL 安装 cuda 方法的 网址 ,具体信息如下。
# cuda 版本选择
# 大版本号,如 11
export CUDA_MAJOR=11
# 小版本号,如 6
export CUDA_MINOR=6
# 选择 network 的安装模式
sudo dpkg -i cuda-repo-wsl-ubuntu-${CUDA_MAJOR}-${CUDA_MINOR}-local_${CUDA_MAJOR}.${CUDA_MINOR}.0-1_amd64.deb
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-11-6
# 创建环境变量
ls /usr/local/cuda
sudo touch /etc/profile.d/cuda.sh
echo 'export PATH=/usr/local/cuda/bin/:$PATH' | sudo tee -a /etc/profile.d/cuda.sh
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64/:/usr/lib/wsl/lib/:$LD_LIBRARY_PATH' | sudo tee -a /etc/profile.d/cuda.sh
2.2 安装cuDNN
完成CUDA的安装后,在 cuDNN页面 登录并下载对应的cuDNN安装包。如果之前安装了CUDA 10.1,下载配套CUDA 10.1的cuDNN v7.6.x;如果之前安装了CUDA 11.1,下载配套CUDA 11.1的 cuDNN v8.0.x;如果之前安装了CUDA 11.6,下载配套CUDA 11.6的cuDNN v8.5.x。注意下载后缀名为 tgz 的压缩包。假设下载的 cuDNN 包名为 cudnn.tgz,安装的 CUDA 版本为11.6,执行以下命令安装cuDNN。
tar -zxvf cudnn.tgz
sudo cp cuda/include/cudnn*.h /usr/local/cuda-11.6/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-11.6/lib64
sudo chmod a+r /usr/local/cuda-11.6/include/cudnn*.h /usr/local/cuda-11.6/lib64/libcudnn*
如果之前安装了其他CUDA版本或者CUDA安装路径不同,只需替换上述命令中的/usr/local/cuda-11.6为当前安装的CUDA路径。
三、创建python环境
conda create -n mindspore python=3.9
conda activate mindspore
conda install mindspore=2.2.14 -c mindspore -c conda-forge
import numpy as np
import mindspore as ms
import mindspore.ops as ops
ms.set_context(device_target="GPU")
x = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
y = ms.Tensor(np.ones([1,3,3,4]).astype(np.float32))
print(ops.add(x, y))