不少开发者的个人电脑的主操作系统为Windows,但CANN算子的开发需要在Linux环境中进行。这个问题常见的解决方案为安装Windows+Linux双系统,或者安装VMware、VirtualBox一类的虚拟机软件,在上面配置Linux虚拟机环境。但这两种方案有一定的局限性,安装双系统每次切换系统都需要重启,且会涉及到修改启动引导等一系列问题,安装比较麻烦,而安装虚拟机的方案宿主机和虚拟机的文件交换较为麻烦,且占用的资源量较多。
有没有一个轻量级、安装便捷、文件交换方便且性能优秀的解决方案呢?Windows Subsystem for Linux(WSL)就满足了这几个需求。WSL2作为WSL1的升级版,有着完整的 Linux 内核和完全的系统调用兼容性,甚至可以调用GPU加速计算。
系统:windows10专业版
CANN版本:社区版6.0.RC1.alpha002
安装前请确认Windows和BIOS是否支持并已经开启虚拟化
wsl.exe --install -d Ubuntu-18.04
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
sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev libncursesw5-dev
wget https://www.python.org/ftp/python/3.7.12/Python-3.7.12.tgz
tar -zxvf Python-3.7.12.tgz
cd Python-3.7.12
./configure --prefix=/usr/local/python3.7.12--enable-loadable-sqlite-extensions --enable-shared
./configure --prefix=/usr/local/python3.7.12--enable-loadable-sqlite-extensions --enable-shared --enable-optimizations
#编译安装Python3.7.12
make -j6
sudo make install
vim ~/.bashrc
在文件末尾添加以下内容
export LD_LIBRARY_PATH=/usr/local/python3.7.12/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/python3.7.12/bin:$PATH
chmod -R 777 /usr/local/python3.7.12
python3 --version
pip3 --version
# 设置pip源
mkdir ~/.pip
cd ~/.pip
vim pip.conf
# 修改文件内容为
[global]
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
pip3 install attrs numpy decorator sympy cffi pyyaml pathlib2 psutil protobuf scipy requests
进入CANN社区版官网:https://www.hiascend.com/software/cann/community
选择x86-64,下载Ascend-cann-toolkit_6.0.RC1.alpha002_linux-x86_64.run。
下载Mobaxterm,使用ssh连接,上传Ascend-cann-toolkit_6.0.RC1.alpha002_linux-x86_64.run到/home/youruser/下
登入开发用户,进入软件包所在目录,执行以下命令进行安装。
./Ascend-cann-toolkit_5.0.3.alpha005_linux-x86_64.run --install
下来输入vim ~/.bashrc,在文件末尾加上下面内容,实现打开终端自动配置CANN toolkit路径
source /home/davilsu/Ascend/ascend-toolkit/set-env.sh
至此WSL2 Ubuntu18.04 CANN算子开发环境就搭建完成了。