张小白教你在WSL环境源码安装mindspore 1.5.1 GPU版本

举报
张辉 发表于 2021/11/11 11:58:59 2021/11/11
【摘要】 本文介绍了如何在Ubuntu 18.04上源码安装MindSpore V1.5 GPU版本。干货满满。

 

注:其实本文是 【MindSPore第六期两日集群营】MindSpore MOE作业做错了的副产品。当时作业要求使用

./build.sh -t on进行源码编译,但是张小白阴错阳差地使用了bash build.sh -e gpu方式编译。结果导致编译成功的whl包实际上作业也用不了。

所以,塞翁失马焉知非福!

 

一、准备WSL的GPU环境

按照下面这篇文档操作即可:

 张小白再带你玩一次Win11+WSL+CUDA11.1+cuDNN8.0.5+MindSpore 1.3.0(GPU版)

 

二、阅读官网安装指南

根据 官网 编译要求指引

https://mindspore.cn/install 

然后再仔细阅读下面的编译依赖要求、编译方式、验证方式。

三、准备编译相关的依赖

1、一些系统依赖包:

(1)openssl

sudo apt-get install openssl libssl-dev

(2)bison

sudo apt-get install bison

(3)helpman

sudo apt-get install help2man

(4)texinfo

sudo apt-get install texinfo

(5)make

 

(6)build-essential

 sudo apt-get update

sudo apt-get install -y build-essential

 

(7)gfortran

sudo apt-get install gfortran

 

 

2、cmake 3.18.3

wget https://cmake.org/files/v3.18/cmake-3.18.3.tar.gz
tar -zxvf cmake*.gz
cd cmake-3.18.3
./configure
make 
sudo make install

cmake -version

 

3、gcc 7.3.0

原来张小白以为使用wsl自带的gcc 7.5.0可以用,但是编译的过程中,系统提示了最好使用gcc 7.3.0,所以张小白还是重新编译了gcc 7.3.0

gcc 7.3.0的编译方法可以参见以下文档:

张小白教你如何在Ubuntu 18.04上源码安装MindSpore V1.0

(搜索 “Part Two:源码安装gcc 7.3.0”)

具体过程是 mpc-1.1.0+gmp-5.0.1+mpfr-3.1.0+gcc-7.3.0 一路照着文档安装即可。

安装完毕后,将原来/usr/bin下的gcc和g++软链接 指向编译好的/usr/local/bin的gcc和g++即可。

(1)gmp 5.0.1

wget ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2

bzip2 -d gmp-5.0.1.tar.bz2

tar xvf gmp-5.0.1.tar

cd gmp-5.0.1

./configure --prefix=/usr/local/gmp-5.0.1

make

sudo make install

(2)mpfr 3.1.0

wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.xz

xz -d mpfr-3.1.0.tar.xz

tar xvf mpfr-3.1.0.tar

cd mpfr-3.1.0

./configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1

make -j8

sudo make install

(3)mpc 1.1.0

wget http://www.multiprecision.org/downloads/mpc-1.1.0.tar.gz

gzip -d mpc*.gz

tar xvf mpc*.tar

cd mpc-1.1.0

./configure --prefix=/usr/local/mpc-1.1.0 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0

make -j8

sudo make install

sudo vi /etc/ld.so.conf

加入以下三行内容:

sudo ldconfig

(4)gcc 7.3.0

wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz

tar -zxvf gcc-7.3.0.tar.gz

cd gcc-7.3.0

./configure --with-gmp=/usr/local/gmp-5.0.1 --with-mpc=/usr/local/mpc-1.1.0 --with-mpfr=/usr/local/mpfr-3.1.0 --disable-multilib

make -j8

sudo make install

gcc 7.3.0安装在 /usr/local/bin目录下

替换掉系统的gcc 7.5.0

验证:

 

4、gmp 6.1.2

wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz

xz -d gmp-6.1.2.tar.xz

tar xvf gmp-6.1.2.tar

cd gmp-6.1.2

./configure --prefix=/usr/local/gmp-6.1.2

make

sudo make install

经验表明,还得补装一个libgmp-dev才可以:

sudo apt-get install libgmp-dev

 

 

5、Python 3.7.5

用conda来准备python 3.7.5环境

现有python版本为Python 3.8.8

按Y继续:

conda activate mindspore-build

python -V

 

6、patch 2.5.4

wget http://ftp.gnu.org/gnu/patch/patch-2.5.4.tar.gz

tar zxvf patch-2.5.4.tar.gz

cd patch-2.5.4

./configure

make

sudo make install

patch -version

 

7、autoconf、libtool和automake

(1)autoconf 2.69 

sudo apt-get install autoconf

(2)automake 1.15.1

sudo apt-get install automake

(3)libtool 2.4.6

sudo apt-get install libtool

(4)autopoint 0.19.8.1

autopoint是在安装过程中需要补充的依赖。

sudo apt-get install autopoint

 

8、flex 2.5.35

git clone https://github.com/westes/flex.git

cd flex

autogen.sh

./configure

make -j8

apt-get install flex

装完缺省的flex,再make -j8

sudo make install

flex -V

 

9、wheel 0.35.1

wget https://files.pythonhosted.org/packages/83/72/611c121b6bd15479cb62f1a425b2e3372e121b324228df28e64cc28b01c2/wheel-0.35.1.tar.gz

解压后看README.rst文件,似乎只要pip安装就行了。那么暂时不用安装:

 

10、CUDA 11.1和配套的cuDNN

参考 https://bbs.huaweicloud.com/blogs/308832 的方式,conda安装:

conda install -c conda-forge cudatoolkit=11.1 cudnn=8.0.5

好像有版本冲突。

先只安装cuda 11.1

conda install -c conda-forge cudatoolkit=11.1

按Y继续:

 

11、NUMA 2.0.11

apt-get install libnuma-dev

 

四、源码编译MindSpore 1.5.1 GPU版本

1、下载MindSpore源码包

git clone https://gitee.com/mindspore/mindspore.git -b r1.5

 

2、源码编译MindSpore 1.5 GPU版本

bash build.sh -e gpu

。。。

在编译的过程中,由于国内github连接不通畅原因,会导致一些下载失败或者长时间等待的问题,有好心的同学准备了不太好下载的第三方依赖包:

在随后的编译过程中一般使用以下的方法就可以比较“快捷”的完成编译:

当遇到 下载 https://github..... 卡住的时候,果断ctrl-c中断编译过程,先找一下相关的包在不在里面:

如果在,如上图。再查找一下这个文件名放在本机的什么地方,然后将豆包的文件拷贝到本机的相应的编译目录下即可。

如果不在,则可以通过两种方式下载,一个是直接在本地wget(但这样既然大多数情况会很慢),另一个就是在浏览器下载,然后再将文件拷贝到同样的编译目录下:

如下面这个文件:

通过一系列神操作下载后:

拷贝过去即可:

耐心等待编译完毕:

编译结束后,会在output文件夹生成whl包:

 

3、安装MindSpore 1.5 GPU版本

pip install ./mindspore_gpu-1.5.1-cp37-cp37m-linux_x86_64.whl -i https://pypi.tuna.tsinghua.edu.cn/simple

 

4、验证MindSpore 1.5 GPU版本

惯例使用两种方式验证:

好了,这样子MindSpore GPU 1.5版本就编译和安装完毕了。

 

(全文完,谢谢阅读)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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