1.软件包下载
从https://github.com/intel/MLSL/releases中进行下载。我使用的root权限的安装,所以下载的是intel-mlsl-devel-64-2017.2-018.x86_64.rpm与PUBLIC_KEY.PUB。下载完成之后可以直接导入虚拟机的文件夹中。
2.安装MLSL软件包
先进入放rpm文件与pub文件的文件夹中。
然后导入PUBLIC_KEY.PUB,命令如下:
rmp --import PUBLIC_KEY.PUB
接着便是mlsl的安装语句,命令如下:
rpm -i intel-mlsl-devel-64-2017.2-018.x86_64.rpm
在默认情况下mlsl会被安装在如下路径/opt/intel/mlsl_2017.2-018
3.使用MLSL
需要首先设置intel的mlsl环境
source /opt/intel/mlsl_2017.2-018/intel64/bin/mlslvars.sh
然后需要编译,编译只需要直接进入opt/intel/mlsl_2017.2-018/test文件中然后make便可成功
make
make成功之后会出现一个运行文件也就是mlsl_test,接下来就是运行:
# use data parallelism
mpirun -n 8 -ppn 1 ./mlsl_test 1
# use model parallelism
mpirun - n 8 -ppn 1 ./mlsl_test 8
# use hybrid parallelism, enable distributed weight update
mpirun -n 8 -ppn 1 ./mlsl_test 2 1
在运行过程中我遇到的问题如下:
[proxy:0:0@knl03] HYDU_create_process (../../utils/launch/launch.c:825): execvp error on file –n (No such file or directory)
解决办法就是将运行文件删除然后在进行重新编译,可以使用make也可以使用mpicc -o mlsl_test mlsl_test.cpp。或者可以先去opt/intel/mlsl_2017.2-018目录下的example先运行一下example,同样先使用make进行编译然后在用mpirun进行运行
最后的运行结果如下图: