运行MPI作业

本文介绍运行MPI作业的方法。

背景信息

Hyper MPI支持的集合操作包含Allreduce、Bcast、Barrier、Alltoallv、Allgatherv、Gatherv和ScattervHyper MPI支持如下算法模式。

指定算法模式的示例如下:

mpirun -np 16 -N 2 --hostfile hf --mca coll ^ucg test_case

  • -np:表示所有节点总进程数,计算方式为单节点的进程数量(N)*节点数量。
  • -N:表示每个节点的进程数。
  • --hostfile:表示进程运行节点的配置文件。
  • test_case:表示mpicc编译后的二进制文件。

Hyper MPI默认对业务进程按照core的策略进行绑核,如果业务进程为多线程程序,为保障线程的正常调度,需要根据业务线程规模手动修改绑核配置,例如:

通过默认算法运行MPI作业

Hyper MPI在默认情况下根据包长、每个节点的进程数(PPN)和节点数三个参数选择算法,在使用时直接运行mpirun命令即可,无需添加额外参数。

运行命令示例如下:

mpirun -np 16 -N 2 --hostfile hf test_case

Hyper MPI中并非每一个算法都支持所有的场景,在一些不支持场景下,会回退至支持的算法,详情请参见特性支持与功能回退说明

通过指定算法运行MPI作业

以Allreduce的算法参数UCG_PLANC_UCX_ALLREDUCE_ATTR为例进行介绍。通过指定算法运行MPI作业的命令参数请参见指定算法支持的命令参数

指定算法支持的命令参数