Spectrum MPI
操作场景
本节指导用户安装和使用IBM Spectrum MPI(以IBM Spectrum MPI v10.1为例)。
其中,IBM Spectrum MPI v10.1版本当前支持的操作系统列表如下:
- IBM Spectrum MPI 10.1.0.1 Eval for x86_64 Linux
- Red Hat Enterprise Linux version 6.6及其之后的版本
- Red Hat Enterprise Linux version 7.1及其之后的版本
- SUSE Linux Enterprise Server version 11 SP4
- SUSE Linux Enterprise Server version 12及其之后的版本
- IBM Spectrum MPI 10.1.0.2 Eval for Power 8 Linux
- Red Hat Enterprise Linux version 7.3及其之后的版本
前提条件
已配置弹性云服务器免密登录。
操作步骤
- 获取软件包。
- 获取IBM Spectrum MPI软件包。
下载地址:https://www-01.ibm.com/marketing/iwm/iwm/web/preLogin.do?source=swerpsysz-lsf-3
获取的软件包一般为两个,包括license和软件两部分,例如,获取的IBM Spectrum MPI软件包为:
smpi_lic_s-10.1Eval-rh7_Sep15.x86_64.rpm
ibm_smpi-10.1.0.3eval_170901-rh7_Apr11.x86_64.rpm
- 下载需要的HPC-X工具套件。
IBM MPI在EDR SR-IOV场景下的运行需要HPC-X提供的MXM库的支持,HPC-X 的下载需要参考弹性云服务器操作系统的版本以及IB驱动版本,例如,下载的HPC-X版本为:hpcx-v2.0.0-gcc-MLNX_OFED_LINUX-4.2-1.2.0.0-redhat7.3-x86_64.tbz。
- 获取IBM Spectrum MPI软件包。
- 安装HPC-X工具套件。
- 将1中下载的HPC-X压缩包上传至运行MPI的弹性云服务器内。
- 执行以下命令,解压HPC-X工具套件。
$ tar xvf hpcx-v2.0.0-gcc-MLNX_OFED_LINUX-4.2-1.2.0.0-redhat7.3-x86_64.tbz
- 执行以下命令,设置HPC-X环境变量。
$ cd hpcx-v2.0.0-gcc-MLNX_OFED_LINUX-4.2-1.2.0.0-redhat7.3-x86_64
$ export HPCX_HOME=$PWD
- 安装IBM Spectrum MPI。
- 将1中下载的MPI软件包上传至运行MPI的弹性云服务器内。
- 执行以下命令,切换至root用户。
- 执行以下命令,设置环境变量。
- 安装License部分。
- 执行以下命令,安装软件部分。
# rpm -ivh ibm_smpi-10.1.0.3eval_170901-rh7_Apr11.x86_64.rpm
图2 安装软件
- 配置MPI环境变量。
- 执行以下命令,在单个弹性云服务器上通过Spectrum MPI运行可执行文件。
- 执行以下命令,编辑文件。
# vi hello.c
编辑内容如下:
#include<mpi.h> #include<stdio.h> int main(intargc, char**argv){ //Initialize the MPI environment MPI_Init(NULL, NULL); //Get the number of processes int world_size; MPI_Comm_size(MPI_COMM_WORLD, &world_size); //Get the rank of the process int world_rank; MPI_Comm_rank(MPI_COMM_WORLD, &world_rank); //Get the name of the processor char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_len; MPI_Get_processor_name(processor_name, &name_len); //Print off a hello world message printf("Hello world from processor %s, rank %d"" out of %d processors\n", processor_name, world_rank, world_size); //FinalizetheMPIenvironment. MPI_Finalize(); }
- 执行以下命令,生成可执行文件,假设在/home/linux目录下生成。
不同版本的MPI运行的hello文件是不同的,因此,如果更换了MPI版本,需要重新执行命令# mpicc hello.c -o spe_hello进行编译,生成新的可执行文件。
- 执行以下命令,在单个ECS上运行Spectrum MPI。
# mpirun --allow-run-as-root -np 2 /root/spe_hello
系统回显如图4所示。
- 执行以下命令,编辑文件。