0
点赞
收藏
分享

微信扫一扫

国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)—— 第一部分:依赖环境的安装

国产计算框架MindSpore的r1.3分支源代码存在部分bug,导致无法从源码方式进行gpu环境下的编译。

具体参看:



本文给出对r1.3分支存在的部分bug就行修正,然后成功进行编译,并验证编译后的文件可以正常运行,证明本文方式可以成功解决r1.3分支无法在gpu环境下进行编译的问题。本文给出具体的安装步骤及具体bug的修改方式。




计算框架mindspore的官网:

​​https://www.mindspore.cn/install​​


r1.3是当下最新发布的版本,因此这里选择对该版本下的gpu环境下进行编译。

国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)——  第一部分:依赖环境的安装_python







需要的依赖软件:

国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)——  第一部分:依赖环境的安装_python_02





==========================================================


经过验证如果不使用sudo权限的话需要对mindspore的源码中的cmake文件进行大幅度修改,因此本文都是在具有sudo权限下进行的。

操作系统:Ubuntu18.04

CPU:i7 9700k

GPU:   RTX 2060SUPER



依赖环境的安装:


1.  安装CUDA11.1.0 和 cuDNN 8.0.X版本:

下载cuda源码并安装:

wget https://developer.download.nvidia.com/compute/cuda/11.1.0/local_installers/cuda_11.1.0_455.23.05_linux.run

sudo sh ./cuda_11.1.0_455.23.05_linux.run --toolkit --silent



cuDnn下载并安装: 


下载地址:

​​https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.0.5/11.1_20201106/cudnn-11.1-linux-x64-v8.0.5.39.tgz​​



 解压文件:

              tar -zxvf cudnn-11.1-linux-x64-v8.0.5.39.tgz



拷贝解压后的文件到cuda安装目录内:

sudo cp cuda/include/*  /usr/local/cuda-11.1/include

sudo cp cuda/lib64/* /usr/local/cuda-11.1/lib64



配置环境变量:

修改  .bashrc  文件

export PATH=/usr/local/cuda-11.1/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-11.1/lib64:$LD_LIBRARY_PATH



重新载入  .bashrc 文件:

source ~/.bashrc








2. GCC的安装:

下载gcc 7.3.0版本安装包,执行以下命令:

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


执行​​tar -xzf gcc-7.3.0.tar.gz​​解压源码包。


执行​​cd gcc-7.3.0​​,进入到源码包目录。


继续下面操作前清空系统内的环境变量:

export LIBRARY_PATH=
export LD_LIBRARY_PATH=
export C_INCLUDE_PATH=
export CPLUS_INCLUDE_PATH=




运行以下命令,进行安装前的配置。

安装依赖环境:

./contrib/download_prerequisites



配置环境:

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




 编译安装:

make -j8 && sudo make install







3.   m4  下载安装:

下载:

​​wget   http://ftp.gnu.org/gnu/m4/m4-1.4.16.tar.bz2​​


解压:

               tar -jxvf m4-1.4.16.tar.bz2




修改m4_1.4.16下源文件中代码:

vi lib/stdio.in.h

查找字段:gets is a security hole

注释

将_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); 字段和他之前的注释 /* 一块注释掉,如下

/* It is very rare that the developer ever has full control of stdin,
so any use of gets warrants an unconditional warning. Assume it is
always declared, since it is required by C89.
#undef gets
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); */


再添加如下内容:

#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)

_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");

#endif



配置:

./configure



编译安装

make &&sudo make install







4.    安装gmp 6.1.2

 下载​​gmp 6.1.2​​源码包:

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



解压到当前文件夹:

           tar -xvf  gmp-6.1.2.tar.xz




 配置:

 ./configure  --enable-cxx


 编译安装:

make && sudo make install




测试 gmp 是否安装并配置成功:

代码:

# test.cpp 文件

#include <gmpxx.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
mpz_t a,b,c;
mpz_init(a);
mpz_init(b);
mpz_init(c);
gmp_scanf("%Zd%Zd",a,b);
mpz_add(c,a,b);
gmp_printf("c= %Zd\n",c);
return 0;
}



编译:

g++ test.cpp -o test -lgmp


运行:

国产计算框架mindspore在gpu环境下编译分支r1.3,使用suod权限成功编译并安装,成功运行——(修复部分bug,给出具体编译和安装过程)——  第一部分:依赖环境的安装_javascript_03










5.   openssl 的安装:

下载地址:

​​https://www.openssl.org/source/openssl-1.1.1k.tar.gz​​


解压:

tar -zxvf openssl-1.1.1k


 配置:

./config



编译并安装:

make -j8&& sudo make install



配置系统环境:  修改  .bashrc  文件,添加内容:

# openssl

export OPENSSL_ROOT_DIR=/usr/local/lib64




重新载入  .bashrc 文件:

source ~/.bashrc





说明:  前5步的依赖环境的安装足够使用pip安装的方式安装mindspore1.3.0版本,具体参看:









6.   CMAKE的安装  (前面几步操作make的时候都是使用系统自带的旧版本cmake,这里的cmake安装是为编译mindspore用的)

下载文件:

​​wget    https://github.com/Kitware/CMake/releases/download/v3.21.0/cmake-3.21.0.tar.gz​​



解压:

tar -zxvf cmake-3.21.0.tar.gz



配置:

./configure




编译并安装:

make -j8&& sudo make install




 配置系统环境:  修改  .bashrc  文件,添加内容:(为cmake指定调用何处的gcc与g++,否则可能会调用系统中以前版本的gcc与g++)

# CC
export CC=/usr/local/bin/gcc
export CXX=/usr/local/bin/g++




重新载入  .bashrc 文件:

source ~/.bashrc






7.  patch 的安装:

下载文件:

​​wget  https://ftp.gnu.org/gnu/patch/patch-2.7.6.tar.gz​​



解压:

tar -zxvf patch-2.7.6.tar.gz



配置:

./configure 




编译并安装:

make -j8&& sudo make install








8.  安装Autoconf

下载文件:

wget https://ftp.gnu.org/gnu/autoconf/autoconf-2.71.tar.gz



 解压:

 tar -zxvf autoconf-2.71.tar.gz


 配置:

./configure 



编译并安装:

make -j8&& sudo make install







9.    安装   libtool 

 下载地址:

​​wget https://ftpmirror.gnu.org/libtool/libtool-2.4.6.tar.gz​​



 解压:

tar -zxvf libtool-2.4.6.tar.gz


配置:

./configure



编译并安装:

make -j8&& sudo make install








10.   安装automake

下载:

​​wget https://ftp.gnu.org/gnu/automake/automake-1.16.3.tar.gz​​


 解压:

tar -zxvf automake-1.16.3.tar.gz


配置:

./configure  



编译并安装:

make -j8&& sudo make install










11.   安装flex

下载文件:

​​wget https://github.com/westes/flex/files/981163/flex-2.6.4.tar.gz​​


解压:

tar -zxvf flex-2.6.4.tar.gz


配置:

./configure 


编译并安装:

make -j8&& sudo make install








12.   安装NUMA

官网建议安装方式:

apt-get install libnuma-dev


这里给出个人的安装方式,本人并没有使用官方的安装方式:

首先卸载系统中的numa环境:

sudo apt-get remove libnuma-dev



手动安装numa:

下载:

​​wget https://github.com/numactl/numactl/releases/download/v2.0.14/numactl-2.0.14.tar.gz​​


解压:

tar -zxvf numactl-2.0.14.tar.gz


配置:

./configure




编译并安装:

make -j8&& sudo make install







13.   确认安装git工具(一般系统里都有git,这一步基本可以忽略)

如果未安装,使用如下命令下载安装:

sudo apt-get install git






以上为依赖环境的安装(除Python外)。


=====================================================================



安装运行mindspore的Python环境,这里为方便直接选择用anaconda方式创建:

Python环境3.7.5, 为anaconda创建,命令:

conda create -n ms python=3.7.5



 激活Python环境:

conda activate ms




注意: anaconda创建的Python环境自带wheel,因此这里不用再手动安装wheel。

如果Python环境下没有wheel需要手动安装,方式如下:

安装wheel:

pip install wheel




举报

相关推荐

0 条评论