鲲鹏社区首页
中文
注册
如何使用HMPI工具拉起可执行程序

如何使用HMPI工具拉起可执行程序

HPC

发表于 2023/04/27

186

在本章节中,我们将通过第4章节生成的可执行文件test_case带大家了解使用HMPI工具拉起可执行程序。

HMPI并行作业可以分为两种模式:Non-coll模式、Coll模式。

Non-coll模式

Hyper MPI可屏蔽掉coll_ucx功能,采用Open MPI原有的集合通信,使用命令示例如下:

mpirun --mca coll ^ucx -np 512 -N 128 --hostfile hf_test test_case

“-np”表示所有节点总进程数,计算方式-N*节点数。
“-N”表示每个节点的进程数。
“hf_test”表示进程运行节点的配置文件,文件内容为各节点IP,示例如下


“test_case”表示mpicc编译后的二进制文件。

Coll模式

Coll模式下使用Hyper MPI的HUCX功能,使用时不必加--mca coll ^ucx参数。Coll模式目前支持三种MPI集合操作:MPI_Allreduce、MPI_Bcast、MPI_Barrier。

Coll模式分默认算法和指定算法两种模式:

(1)默认算法实现了基于包长、PPN、节点数三个参数的算法自动选择功能,即根据不同的包长、每个节点的进程数、节点数选择不同的算法。

(2)指定算法模式则需要利用命令行参数进行特定算法的指定。

1. 默认算法模式

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

(1)MPI_Allreduce和MPI_Bcast集合操作默认算法根据包长、PPN、节点数三个参数进行选择。

(2)MPI_Barrier集合操作默认算法根据PPN和节点数进行选择。

运行命令示例如下:

mpirun -np 512 -N 128 --hostfile hf_test test_case

2. 指定算法模式

方法1 通过命令行参数指定算法

a. 使用PuTTY工具,以Hyper MPI普通用户,如“hmpi_user”登录作业执行节点

b. 在mpirun命令中增加如下参数

-x UCX_BUILTIN_ALLREDUCE_ALGORITHM=n

方法2:通过设置环境变量的方式来选择对应的算法

a. 使用PuTTY工具,以Hyper MPI普通用户,如“hmpi_user”登录作业执行节点

b. 将以下命令写入所有节点的“~/.bashrc”中

export UCX_BUILTIN_ALLREDUCE_ALGORITHM=n

c. 执行以下命令,使环境变量生效

source ~/.bashrc

d. 不再需要该环境变量时,从“~/.bashrc”中删除上述命令,并执行以下命令删除已生效的环境变量

unset UCX_BUILTIN_ALLREDUCE_ALGORITHM

“UCX_BUILTIN_ALLREDUCE_ALGORITHM”表示MPI_Allreduce的算法参数,其他可选参数请参见《Hyper MPI 1.2.1 操作指导》
“n”表示对应算法的序号。如果算法选择的数值不在有效范围内,则会执行默认算法。

本页内容