建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
请选择 进入手机版 | 继续访问电脑版
设置昵称

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

确定
我再想想
选择版块
直达楼层
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

采纳成功

您已采纳当前回复为最佳回复

飞翔的企鹅

发帖: 8粉丝: 2

发消息 + 关注

更新于2021年04月02日 16:38:01 378 6
直达本楼层的链接
楼主
显示全部楼层
[技术干货] 在Linux上体验源码编译安装MindSpore GPU版本

# 在Linux上体验源码编译安装MindSpore GPU版本 接触到MindSpore深度学习框架快一年了,作为一名AI框架深度业余爱好者,经常使用开源社区主流的框架来进行一些简单的图像识别、自然语言处理。第一次接触到MindSpore深度学习框架还是在去年5月份,偶然打开了[MindSpore官网教程主页](https://www.mindspore.cn/tutorial/training/zh-CN/master/index.html),发现官网提供了大量的使用案例,跟着这些案例循序渐进的学习,现在已经基本掌握使用MindSpore用于训练和推理。最近学习到使用MindSpore自定义GPU算子,正好手上收获一台带GPU的主机,本着物尽其用的原则,尝试着根据官方安装指南进行了编译安装MindSpore GPU版本,期间笔者历经数难,总算最后编译好了。官方提供的安装指南中针对第三方库的安装描述不够详细,幸好笔者有随手记的好习惯,将整个编译和安装过程记录了下来,希望能帮到更多的朋友。 ## 确认系统环境信息 首先要注意的是,需要具有sudo权限的用户进行编译安装全流程。 ### 安装Ubuntu 18.04是64位操作系统 1. 确认系统版本号,在终端输入命令`lsb_release -a`: ```bash $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.5 LTS Release: 18.04 Codename: bionic ``` 2. 确认系统位数,在终端中输入命令`uname -a`: ```bash $ uname -a Linux ms-gpu 5.4.0-56-generic #62~18.04.1-Ubuntu SMP Tue Nov 24 10:07:50 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux ``` 可以知道我的主机系统是满足要求的,接下来安装gcc。 ### 安装GCC 7.3.0版本 首先执行以下命令,安装所需基础依赖包: ```bash sudo apt-get install -y build-essential m4 libgmp-dev libmpfr-dev libmpc-dev ``` 1. 查看本机gcc版本,执行命令`gcc --version`: ```bash $ gcc --version gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` 由输出可知,安装的gcc版本为7.5.0。 若没有安装gcc,则执行以下命令安装gcc: ```bash sudo apt install gcc ``` 由于gcc在本机上是7.5.0版本,官方指南要求是7.3.0版本,我需要编译安装gcc 7.3.0版本。 2. 下载gcc 7.3.0版本安装包,执行以下命令: ```bash wget http://ftp.gnu.org/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz ``` 3. 执行`tar -xzf gcc-7.3.0.tar.gz`解压源码包。 4. 执行编译安装。 查看解压后的gcc源码包: ```bash $ ls gcc-7.3.0 ABOUT-NLS config.log COPYING gcc LAST_UPDATED libdecnumber libiberty libssp lt~obsolete.m4 Makefile.def move-if-change ChangeLog config-ml.in COPYING3 gnattools libada libffi libitm libstdc++-v3 lto-plugin Makefile.in NEWS ChangeLog.jit config.rpath COPYING3.LIB gotools libatomic libgcc libmpx libtool-ldflags ltoptions.m4 Makefile.tpl README ChangeLog.tree-ssa config.sub COPYING.LIB include libbacktrace libgfortran libobjc libtool.m4 ltsugar.m4 MD5SUMS symlink-tree compile configure COPYING.RUNTIME INSTALL libcc1 libgo liboffloadmic libvtv ltversion.m4 missing ylwrap config configure.ac depcomp install-sh libcilkrts libgomp libquadmath ltgcc.m4 MAINTAINERS mkdep zlib config.guess contrib fixincludes intl libcpp libhsail-rt libsanitizer ltmain.sh maintainer-scripts mkinstalldirs ``` 执行`cd gcc-7.3.0`,进入到源码包目录。 1. 运行以下命令,进行安装前的配置。 ```bash ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib ``` 其中: - `enable-checking=release`为增加一些检查 - `enable-languages=c,c++`为gcc支持的编程语言 - `disable-multilib`为取消多目标库编译(取消32位库编译) 2. 运行以下命令进行编译安装gcc 7.3.0。 ```bash make -j 12 && sudo make install -j 12 ``` 其中,参数`-j 12`表示开启12线程进行编译和安装,后续步骤同理,你可以根据自己的cpu性能设置合适的数值。 3. 执行以下命令,将gcc 7.3.0链接为默认gcc版本: ```bash sudo ln -sf /usr/local/gcc/bin/gcc /usr/bin/gcc ``` 4. 执行`gcc --version`,若输出结果为以下内容,则成功安装gcc 7.3.0 ```bash $ gcc --version gcc (GCC) 7.3.0 Copyright © 2017 Free Software Foundation, Inc. 本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保; 包括没有适销性和某一专用目的下的适用性担保。 ``` 至此,已经完成gcc 7.3.0的安装,接下来继续安装gmp。 ### 安装gmp 6.1.2 1. 下载`gmp 6.1.2`源码包: ```bash wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz ``` 2. 运行命令`tar -JXf gmp-6.1.2.tar.xz`解压gmp源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装gmp。 ```bash make -j 12 && sudo make install -j 12 ``` 完成了gmp安装后要继续安装NVIDA驱动了。 ### 安装NVIDIA驱动 首先看一下显卡驱动列表,执行`sudo apt-get install ubuntu-drivers-common`安装`ubuntu-driver`,安装完后执行`ubuntu-drivers devices`,查看显卡所支持的驱动: ![nvdia-driver.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153359bmx6zy4bo8peuxuy.png) 由输出结果可知,需安装驱动版本为nvidia-driver-450,执行以下命令安装: ```bash sudo apt-get install -y nvidia-driver-450 ``` 执行`nvdia-smi`验证,成功安装后显示如下结果: ![nvdia-driver_2.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153445h9gizbjz0ua8imtp.png) 此时,GPU驱动已经安装完成了,接下来需要安装openssl。 ### 安装OpenSSL 1.1.1 我选择安装openssl 1.1.1版本。 1. 下载`openssl 1.1.1`源码包: ```bash wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1g.tar.gz ``` 2. 运行命令`tar -xzf penSSL_1_1_1g.tar.gz`解压gmp源码包。 3. 进入到解压后的目录,执行命令`./config --prefix=/usr/local/openssl`进行配置: 4. 执行以下命令安装openssl。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 安装完成后设置环境变量`export OPENSSL_ROOT_DIR=/usr/local/openssl`,并添加到`~/.bashrc`文件的末尾。 安装完openssl后继续安装Python 3.7.5。由于MindSpore只支持Python 3.7.5,我选择用源码进行编译安装。 ### 安装Python 3.7.5版本 编译安装Python前需要先安装必要的基础依赖,首先执行以下命令,安装所需的依赖包: ```bash sudo apt-get install -y libssl-dev zlib1g-dev libbz2-dev \ libreadline-dev libsqlite3-dev wget \ curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl ``` 编译安装Python步骤如下: 1. 下载`Python 3.7.5`源码包: ```bash wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz ``` 2. 执行命令`tar -xzf Python-3.7.5.tgz`解压源码包。 3. 进入解压后的源码包目录,执行以下命令进行安装配置: ```bash ./configure --prefix=/usr/local/python3.7.5 --with-openssl=/usr/local/openssl --enable-shared ``` 其中: - `--prefix=/usr/local/python3.7.5`为安装路径 可执行文件放在/usr/local/python3.7.5/bin下。 库文件放在/usr/local/python3.7.5/lib。 配置文件放在/usr/local/python3.7.1/include。 其他资源文件放在/usr/local/python3.7.5下。 - `--with-openssl`为确保pip安装库时能找到SSL,配置为上步中openssl安装目录`/usr/local/openssl`。 4. 执行命令`make -j 12 &amp;amp;amp;amp;&amp;amp;amp;amp; sudo make install -j 12`编译安装Python 3.7.5。 5. 将Python 3.7.5添加到环境变量中: - 执行命令`vim ~/.bashrc`编辑`~/.bashrc`文件,将以下命令追加到末尾处: ```bash export PATH=/usr/local/python3.7.5/bin:{user_home_path}/.local/bin:$PATH ``` 其中,`{user_home_path}`替换为当前登录用户的主目录。 - 执行以下命令使python默认指向Python3.7.5: ```bash ln -sf /usr/local/python3.7.5/bin/python3 /usr/bin/python ln -sf /usr/local/python3.7.5/bin/python3 /usr/bin/python3 ``` 6. 执行`source ~/.bashrc`,刷新环境变量,执行`python3.7 --version`验证安装,输出如下结果则成功安装python 3.7.5。 ```bash $ python --version Python 3.7.5 ``` 7. 替换pip源。 新建`~/.pip/pip.conf`文件,添加以下内容: ```text [global] index-url = https://pypi.tuna.tsinghua.edu.cn/simple ``` 8. 更新pip,执行: ```bash python -m pip install --upgrade pip ``` 执行命令`pip --version`,输出以下结果则完成安装。 ```bash $ pip --version pip 21.0.1 from /usr/local/python3.7.5/site-packages/pip (python 3.7) ``` 自此,Python安装已经完成了,接下来进行cmake的安装,还是选择编译安装。 ### 安装CMake 3.18.3 1. 下载`cmake 3.18.3`源码包: ```bash wget https://cmake.org/files/v3.18/cmake-3.18.3.tar.gz ``` 2. 运行命令`tar -xzf cmake-3.18.3.tar.gz`解压cmake源码包。 3. 进入到解压后的目录,执行`./bootstrap`进行安装配置。 4. 最后执行以下命令安装cmake 3.18.3。 ```bash make -j 12 && sudo make install -j 12 ``` 安装过程如下图所示: ![cmake_make_install.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/1535403ucglwfgfonanxdb.png) 安装结束时截图: ![cmake_make_sucess.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153610mxgiudn6xkex71tn.png) 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ cmake --version cmake version 3.18.3 CMake suite maintained and supported by Kitware (kitware.com/cmake). ``` 确认完成安装cmake后接着安装patch。 ### 安装patch 2.6 1. 下载`patch 2.6`源码包: ```bash wget http://ftp.gnu.org/gnu/patch/patch-2.6.tar.gz ``` 2. 运行命令`tar -xzf patch-2.6.tar.gz`解压patch源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`patch 2.6`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ patch --version patch 2.6 Copyright (C) 1988 Larry Wall Copyright (C) 2003 Free Software Foundation, Inc. This program comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of this program under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. written by Larry Wall and Paul Eggert ``` 验证安装完后接着安装autoconf。 ### 安装Autoconf 2.70 1. 下载`autoconf-2.70`源码包: ```bash wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.70.tar.gz ``` 2. 运行命令`tar -xzf autoconf-2.70.tar.gz`解压autoconf源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`autoconf-2.70`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ autoconf --version autoconf (GNU Autoconf) 2.70 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+/Autoconf: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>, <https://gnu.org/licenses/exceptions.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by David J. MacKenzie and Akim Demaille. ``` 接下来是安装libtool-2.4.6。 ### 安装Libtool 2.4.6-29.fc30 1. 下载`libtool-2.4.6`源码包: ```bash wget https://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz ``` 2. 运行命令`tar -xzf libtool-2.4.6.tar.gz`解压libtool源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`libtool-2.4.6`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ libtool --version libtool (GNU libtool) 2.4.6 Written by Gordon Matzigkeit, 1996 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. ``` 没报错,就继续安装automake。 ### 安装Automake 1.16 1. 下载`automake-1.16`源码包: ```bash wget http://ftp.gnu.org/gnu/automake/automake-1.16.tar.gz ``` 2. 运行命令`tar -xzf automake-1.16.tar.gz`解压automake源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`automake-1.16`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ automake --version automake (GNU automake) 1.16 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv2+: GNU GPL version 2 or later <https://gnu.org/licenses/gpl-2.0.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Tom Tromey <tromey@redhat.com> and Alexandre Duret-Lutz <adl@gnu.org>. ``` 接下来继续安装flex。 ### 安装Flex 2.6.4 1. 下载`flex-2.6.4`源码包: ```bash wget https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz ``` 2. 运行命令`tar -xzf flex-2.6.4.tar.gz`解压gmp源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`flex-2.6.4`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 验证安装是否成功,执行以下命令显示如下结果: ```bash $ flex --version flex 2.6.4 ``` ### 安装wheel 0.32.0 执行命令`pip install wheel==0.32.0`安装wheel。 根据官网安装指南看到编译过程中需要使用到cuda套件和cudnn库,接下来是安装cuda和cudnn。 ### 安装CUDA 10.1按默认配置安装 1. 打开链接<https://developer.nvidia.com/cuda-10.1-download-archive-base?>,选择如下图所示的版本,下载cuda 10.1安装包: ![cuda.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153714lcoqfembve83hxvs.png) 2. 执行`sudo chmod +x ./cuda_10.1.105_418.39_linux.run`赋予权限。 3. 执行 `sudo ./cuda_10.1.105_418.39_linux.run`,根据提示进行安装。 1. 此时窗口弹出安装提示,输入`accept`回车确认: ![cuda_1.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153726ytm52bjyoe5oce9m.png) 2. 弹出安装选项,仅选择`Install`,回车确认: ![cuda_2.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153734xlduow2odu0pz6zb.png) 3. 若之前安装过CUDA且未完全卸载,则弹出如下提示,选择`Upgrade All`,回车确认: ![cuda_3.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/1537433iqo7zkzow3dwdlk.png) 4. 验证安装完成: ```bash $ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Fri_Feb__8_19:08:17_PST_2019 Cuda compilation tools, release 10.1, V10.1.105 ``` 完成了cuda的安装,下面安装cudnn。 ### 安装cuDNN 7.6 1. 下载`cudnn`源码包: 1. 浏览器打开链接:<https://developer.nvidia.com/zh-cn/cudnn>,点击 ![cudnn_page.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153759hqc5vwgbpaebmqer.png) 2. 下载之前需要登陆,点击Login登录: ![cudnn_page_login.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153817nklnazh5w1evesry.png) 3. 根据提示进行注册或者登录. 4. 登录之后跳转到下载链接: ![cudnn_download.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153828q60eeqxfiyhsptfd.png) 5. 获取到Linux-x86_64平台且支持cuda10.1版本的链接。 ```bash wget https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.1_20191031/Ubuntu18_04-x64/libcudnn7-dev_7.6.5.32-1%2Bcuda10.1_amd64.deb ``` 2. 现在完成后,运行命令`sudo apt-get install libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb`进行安装。 此时,已经安装好了cuda和cudnn,继续安装剩下的openmpi。 ### 安装OpenMPI 4.0.3版本 1. 下载`openmpi-4.0.3`源码包: ```bash wget https://download.open-mpi.org/release/open-mpi/v4.0/openmpi-4.0.3.tar.gz ``` 2. 运行命令`tar -xzf openmpi-4.0.3.tar.gz`解压gmp源码包。 3. 进入到解压后的目录,执行命令`./configure`进行配置: 4. 执行以下命令安装`openmpi-4.0.3`。 ```bash make -j 12 && sudo make install -j 12 ``` 5. 安装完成后执行`whereis openmpi`查看安装结果: ```bash $ whereis openmpi openmpi: /usr/local/lib/openmpi ``` 继续安装numa和git,这两个的安装过程比较简单。 ### 安装NUMA 2.0.11 1. 使用如下命令安装: ```bash sudo apt-get install libnuma-dev ``` 2. 安装完成后执行`whereis numa`查看安装结果: ```bash $ whereis numa numa: /usr/include/numa.h /usr/share/man/man3/numa.3.gz /usr/share/man/man7/numa.7.gz ``` ### 安装git工具 1. 使用如下命令安装: ```bash sudo apt-get install git ``` 2. 安装完成后执行`whereis numa`查看安装结果: ```bash $ git --version git version 2.17.1 ``` 此时,编译MindSpore所需用到的依赖环境已经全部准备好了,接下来就要进行编译whl包,首先将MindSpore仓库克隆到本地。 ## 克隆MindSpore源码仓库 在用户目录下新建MindSporeRepo目录,克隆mindspore源码仓库到该目录内,执行以下命令: ```bash git clone https://gitee.com/mindspore/mindspore.git -b r1.1 ``` ## 编译MindSpore 进入到上步中克隆的MindSpore源码目录,在源码根目录下执行如下命令进行编译: ```bash ./build.sh -e gpu ``` - 其中: build.sh中默认的编译线程数为8,如果编译机性能较差可能会出现编译错误,可在执行中增加-j{线程数}来减少线程数量。如: ```bash ./build.sh -e gpu -j4 ``` 执行的编译过程截了几张图: ![mindspore_install_1.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153847hfvonrjuuxd6zd3h.png) ![mindspore_install_2.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153856cbqfhvj9aduqnanr.png) ![mindspore_install_3.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153906wfwjfvgfr17l7feu.png) ![mindspore_install_4.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153915gste4pyszyxuaxbx.png) ![mindspore_install_5.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153923m1d2ipqwnodrpomr.png) ![mindspore_install_6.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153933ukceykvmomaev8zf.png) ![mindspore_install_7.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153942ttoxmhtl4nkfrft0.png) ![mindspore_install_8.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153951eivvuzimvmn0mg0w.png) ![mindspore_install_9.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/153958xlalxrcfd0me5gsc.png) ![mindspore_install_10.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/154005ksk4vkxrzevfqijb.png) 完成编译后,显示如下: ![mindspore_install_11.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/154014eesdcnwv2j2jcalu.png) 编译完成后生成的MindSpore WHL安装包路径为`build/package/mindspore_gpu-1.1.1-cp37-cp37m-linux_x86_64.whl`: ```bash $ ls package akg build dist mindspore mindspore_gpu-1.1.1-cp37-cp37m-linux_x86_64.whl mindspore_gpu.egg-info ``` 至此,经过漫长的等待之后,终于完成了耗时良久的编译过程了,不过离胜利还差一步,需要验证编译的包是否可用。 ## 安装MindSpore 执行以下命令,安装编译完成后输出的WHL包: ```bash chmod +x build/package/mindspore_gpu-1.1.1-cp37-cp37m-linux_x86_64.whl pip install build/package/mindspore_gpu-1.1.1-cp37-cp37m-linux_x86_64.whl ``` 安装过程如下图所示: ![mindspore_pip_1.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/154023gdqe1n34cnoqpxko.png) 成功安装后如下图所示: ![mindspore_pip_2.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/15403197ixlgzxor31ckxp.png) ## 验证是否成功安装 在官网安装指南找到验证的以下所示代码,执行`vim check.py`,输入以下示例代码并保存: ```python import numpy as np from mindspore import Tensor import mindspore.ops as ops import mindspore.context as context context.set_context(device_target="GPU") x = Tensor(np.ones([1,3,3,4]).astype(np.float32)) y = Tensor(np.ones([1,3,3,4]).astype(np.float32)) print(ops.tensor_add(x, y)) ``` 执行`python check.py`,输出如下内容: ![mindspore_verify.png](https://bbs-img-cbc-cn.obs.cn-north-1.myhuaweicloud.com/data/forums/attachment/forum/202102/24/154041fwqmpmncgois2u6m.png) 根据输出可以判断,成功安装了MindSpore GPU版本,大功告成! ## 注意事项和总结 整个编译过程有几个地方折腾了笔者不少时间,也是容易导致编译过程报错最多的地方。经过多次尝试总结了以下3个要点,在编译过程中至关重要。 - 编译安装Python之前必须要安装基础依赖,在编译安装Python的时候已经阐述过。 - 如果在编译过程中出现报错,先确认gcc、Python、cmake安装是否正确,可以尝试重新安装gcc、cmake、NVIDIA驱动解决部分报错问题。 - 最好使用runfile格式的包安装cuda,使用默认的方式安装,安装deb格式的cudnn包,这样可以确保安装正确。 在以后继续深度地学习自定义算子的过程中,肯定需要自己动手执行编译过程,经过此次编译安装MindSpore过程,为下一步的学习MindSpore高级的应用打好了基础。
举报
分享

分享文章到朋友圈

分享文章到微博

采纳成功

您已采纳当前回复为最佳回复

Mr_LV

发帖: 3粉丝: 0

发消息 + 关注

发表于2021年02月24日 16:49:13
直达本楼层的链接
沙发
显示全部楼层

感谢大佬的分享,太详细了,收藏好,以防万一,以后自己编译,可以避免不少大坑

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

飞翔的企鹅

发帖: 8粉丝: 2

发消息 + 关注

发表于2021年02月24日 19:24:10
直达本楼层的链接
板凳
显示全部楼层

也是在探索学习中,欢迎交流心得

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复
发表于2021年02月24日 19:46:33
直达本楼层的链接
地板
显示全部楼层

新的一天,从分享开始~

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

xiexie2001

发帖: 0粉丝: 0

发消息 + 关注

更新于2021年04月28日 22:08:28
直达本楼层的链接
5#
显示全部楼层

您好,我在执行这条语句的时候遇到了一个问题,执行的是:

./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

遇到的问题是:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+

想请问一下应该怎么解决这个问题?

评论
xiexie2001 2021-4-28 23:39 评论

已解决。我将所有文件删除后,终端重启后重新下载,之后就没有遇到这个报错了。

... 查看全部
点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

张辉

发帖: 179粉丝: 103

发消息 + 关注

发表于2021年04月29日 17:07:35
直达本楼层的链接
6#
显示全部楼层

写的不错。

几个重要的地方强调下:

(1)源码编译python3.7.5的时候务必加上 --enable-shared参数,并且查看生成的是.so而不是.a的库。好像mindspore源码编译的时候会用到动态库

(2)mindspore源码安装的时候,会多次向github等网站下载东西,会特别慢(直接连github快的玩家算我没说。。)。这里有个办法,在make做下载动作的时候,先ctrl-c停止make,是自己用windows或者其他途径下载包,拷贝到相关的位置,然后在重新打make,系统就会自动继续编译下去。

可以参看我的博客 https://bbs.huaweicloud.com/blogs/198349 

点赞 评论 引用 举报

采纳成功

您已采纳当前回复为最佳回复

xiexie2001

发帖: 0粉丝: 0

发消息 + 关注

发表于2021年05月03日 11:54:41
直达本楼层的链接
7#
显示全部楼层

求助,在安装显卡驱动的时候发生了安装错误,错误提示:unable to find the development tool 'cc' in your path.

显卡:MX250,驱动版本已经尝试了440、450、460,均为这个报错;

CPU:intel i5-8265U

已经尝试重装系统,但是并没有解决这个问题。

点赞 评论 引用 举报

游客

富文本
Markdown
您需要登录后才可以回帖 登录 | 立即注册

结贴

您对问题的回复是否满意?
满意度
非常满意 满意 一般 不满意
我要反馈
0/200