简介
英特尔® 机器学习扩展库(英特尔® MLSL)能够高效地实施深度学习中使用的通信模式。它针对深度学习框架开发人员设计,可帮助他们从项目扩展中受益。
英特尔 MLSL 的部分特性包括:
- 基于 MPI 构建,支持使用其它通信库
- 经过专门的优化,可以提高通信模式的可扩展性
- 支持各种互连结构:英特尔® Omni-Path 架构、InfiniBand* 和以太网
- 使用通用 API 支持深度学习框架(Caffe*、Theano*、Torch* 等)
安装
下载英特尔® MLSL 软件包
- 转至https://github.com/01org/MLSL/releases并下载:
intel-mlsl-devel-64-<version>.<update>-<package>.x86_64.rpm
用于 root 安装,或者l_mlsl_p_<version>.<update>-<package>.tgz
用于用户安装。
- 在相同的页面上,下载源代码压缩文件(
.zip
或.tar.gz
)。该压缩文件包含LICENSE.txt
和PUBLIC_KEY.PUB
文件。PUBLIC_KEY.PUB
对于 root 安装是必须的。
系统要求
操作系统
- Red Hat* Enterprise Linux* 6 或 7
- SuSE* Linux* Enterprise Server 12
编译器
- GNU*:C, C++ 4.4.0 或更高版本
- 英特尔® C/C++ 编译器 16.0 或更高版本
安装英特尔® MLSL
英特尔® MLSL 软件包包含英特尔 MLSL 软件开发套件 (SDK) 和英特尔® MPI 库运行时组件。按照下面的步骤安装软件包。
Root安装
- 作为root登录。
- 安装软件包:
rpm --import PUBLIC_KEY.PUB rpm -i intel-mlsl-devel-64-<version>.<update>-<package>.x86_64.rpm
在软件包名称中,
<version>.<update>-<package>
代表字符串,例如2017.1-009
。
英特尔 MLSL 将会安装在 /opt/intel/mlsl_<version>.<update>-<package>
。
用户安装
- 将软件包提取至目标文件夹:
tar -xvzf l_mlsl_p_<version>.<update>-<package>.tgz -C /tmp/
- 运行
install.sh
脚本并按照说明操作。
./install.sh
英特尔 MLSL 将会安装在 $HOME/intel/mlsl_<version>.<update>-<package>
。
开始使用
成功安装产品后,您可以使用其全部功能。
如欲了解英特尔 MLSL 如何工作,以及如何使用库 API,建议构建并启动随英特尔 MLSL 提供的示例应用。示例应用模拟了深度学习框架的运行,同时大量使用英特尔 MLSL API 以实现并行化。
按照下面的步骤构建并启动示例应用:
- 设置英特尔 MLSL 环境:
source <install_dir>/intel64/bin/mlslvars.sh
- 构建
mlsl_test.cpp
:cd <install_dir>/test make
- 启动
mlsl_test
二进制,mpirun
为所需的的节点数量 (N
)。mlsl_test
包含两个参数:num_groups
– 定义并行化的类型,基于以下逻辑:num_groups == 1
– 数据并行化num_groups == N
– 模式并行化num_groups > 1
andnum_groups < N
– 混合并行化
dist_update
– 支持分布式权重更新
启动命令示例:
# 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
应用实施英特尔 MLSL 的标准工作流。如欲获得详细的示例说明,以及通用的分布式工作流和 API 参考,请访问随英特尔 MLSL 提供的 开发人员指南和参考。