【MindSpore易点通·漫游世界】在WSL的Ubuntu 22.04上一键安装MindSpore GPU 1.7.0踩坑记

举报
张辉 发表于 2022/06/30 21:06:28 2022/06/30
【摘要】 【MindSpore易点通·漫游世界】

近期张小白的周边发生了如下大事:

(1)2022年4月,ubuntu推出22.04版本。

(2)MindSpore推出自动安装脚本

(3)张小白写过 【MindSpore易点通·漫游世界】在WSL的Ubuntu 20.04上一键安装MindSpore GPU 1.6.1

(4)MindSpore推出 1.7.0版本。

所以,张小白打算使用WSL的ubuntu 22.04自动安装MindSpore GPU 1.7.0版本。


先安装WSL ubuntu 22.04版本,其实这个安装过程跟安装 WSL的ubuntu 20.04版本类似。


(1)使用Microsoft Store安装 ubuntu 22.04 LTS:

点击“打开”,这次的方式好像略有变化,因为多了很多配置界面:

选择语言:

输入用户名和密码:zhanghui/zhanghui

点击Finish:

这个执行可以先执行前面提示要运行的语句:

sudo apt update

sudo apt upgrade

(2)使用move-wsl将ubuntu 22.04移动到E盘:

使用管理员打开 PowerShell:

下载move-wsl工具:

git clone github.com/pxlrbt/move-

停止wsl运行:

wsl --shutdown

确认ubuntu的窗口已被关闭。

cd move-wsl

执行:.\move-wsl.ps1

如遇到以下执行报错:

可输入 set-ExecutionPolicy RemoteSigned 解决:

将ubuntu 22.04移动到E盘:

(3)打开MindSpore官网:MindSpore官网

按如下方式选择:

查看下面的自动安装说明:

打开WSL的ubuntu 22.04

nvidia-smi

nvidia版本为 472.91,满足要求。

获取安装脚本:

wget gitee.com/mindspore/min

PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

经过咨询 马老师,需下载maste分支的脚本:

wget gitee.com/mindspore/min

重新执行:

PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

看来只有魔改shell了,将ubuntu-gpu-pip.sh中的gcc-7改为gcc-9

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

。。。

。。。

。。。

这里已经开始装cuda11.1了

要耐心等待下。。

下载完毕,开始安装了。。。。

检查gcc出错。。。

vi /var/log/cuda-installer.log

不是让它装gcc-9吗?怎么变成了gcc 11.2的版本?

只好手工改下:

cd /usr/bin

sudo mv gcc gcc11

sudo ln -s gcc-9 gcc

cd

gcc --version

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

它居然要重新下载cuda的安装盘。赶紧去把shell中的wget语句注释掉。。。再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

它应该在静默安装CUDA和cuDNN。。

这个pub找不到,去 Index of /compute/cuda/repos/ubuntu2204/x86_64 看看:

确实名字不对,应该叫:3bf863cc.pub

修改shell:

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

。。。

这应该是可以了吧。按回车继续:

再按回车继续:

好像没那么简单。。。

查看nvidia的仓库:Index of /compute/machine-learning/repos

好像nvidia的ml仓库都木有做适配ubuntu 2204的版本。

如果注释掉machine-learning这一行会发生什么事情呢?

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

哦,原来是无法安装cuDNN8.

那我们只好到官网手工下载cuDNN8的zip包了。

打开 cuDNN Archive

第一个链接好像就是 cuDNN 8.4.0 for CUDA 11.x

看看能不能下载下来:

将其拷贝到WSL的ubuntu 22.04的服务器中:

cp /mnt/c/users/xishu/Downloads/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz .

解压:

xz -d cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar.xz

tar xvf cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive.tar

将CuDNN解压后的include和lib64下的文件分别拷贝到 /usr/local/cuda/的 include和lib64目录下去:

cd /usr/local/cuda/

sudo cp ~/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/include/* ./include/

sudo cp ~/cudnn-linux-x86_64-8.4.0.27_cuda11.6-archive/lib/* ./lib64/

再跑一键脚本之前,先注释掉安装cudnn的那行:

再重新执行:PYTHON_VERSION=3.9 CUDA_VERSION=11.1 MINDSPORE_VERSION=1.7.0 bash -i ./ubuntu-gpu-pip.sh

好像终于到了安装MindSpore的whl包这一步了。。

耐心等待安装结束:

这里还会有点慢:

但是最终还是能出来全是2的运算结果,说明MindSpore GPU版还是安装成功的。

总结一下在ubuntu 22.04上一键安装脚本出现的几个问题:

1.官网的教程命令对应的脚本不支持wsl,需要下载master分支的脚本

2.ubuntu 22.04无法直接安装gcc-7,需改为gcc-9.

3.即便改完gcc-9,代码不知怎的,还把gcc-11给装起来了,所以要去/usr/bin下将gcc指向gcc-9

4.如果脚本运行出错,重新运行会反复下载cuda toolkit的3G大小的安装包,脚本可以先判断下文件是否存在(且满足大小要求,如果满足则可以不下载了直接跑后面的命令。

5.ubuntu 2204的cuda的apt公钥文件名称跟 18.04不一样。需要修改为 3bf863cc.pub

6.由于nvidia官网尚未把cudnn放入ubuntu 2204的machine learning代码仓,所以无法直接通过增加apt源的方式安装cudnn,目前暂时只能手工安(JIE)装(YA)。

其它吗,,,一切顺利。。。LOL


(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。