Coll模式支持的MPI集合操作包含Allreduce、Bcast、Barrier、Allgatherv和Scatterv。Coll模式包含默认算法和指定算法两种模式,Hyper MPI默认使用Coll模式运行MPI作业,即在运行作业时不需要添加--mca coll ^ucg参数。
如果需要采用Open MPI原有的集合通信方式运行MPI作业,则需要在运行作业时添加--mca coll ^ucg参数。示例如下:
mpirun -np 16 -N 2 --hostfile hf --mca coll ^ucg test_case
Hyper MPI在默认情况下根据包长、每个节点的进程数(PPN)和节点数三个参数选择算法,在使用时直接运行mpirun命令即可,不用添加额外参数。
运行命令示例如下:
mpirun -np 16 -N 2 --hostfile hf test_case
以Allreduce的算法参数UCG_PLANC_UCX_ALLREDUCE_ATTR为例进行介绍。通过指定算法运行MPI作业的命令参数请参见指定算法支持的命令参数。
-x UCG_PLANC_UCX_ALLREDUCE_ATTR=I:nS:200R:0-
export UCG_PLANC_UCX_ALLREDUCE_ATTR=I:nS:200R:0-
具体请参见https://www.open-mpi.org/doc/current/man1/mpirun.1.php。
Hyper MPI 1.3.*命令参数 |
取值 |
参数说明 |
---|---|---|
-x UCG_PLANC_UCX_BCAST_ATTR= |
|
可选参数,Bcast的算法参数。 示例: -x UCG_PLANC_UCX_BCAST_ATTR=I:4 |
-x UCG_PLANC_UCX_ALLREDUCE_ATTR= |
|
可选参数,Allreduce的算法参数。 示例: -x UCG_PLANC_UCX_ALLREDUCE_ATTR=I:7 |
-x UCG_PLANC_UCX_BARRIER_ATTR= |
|
可选参数,Barrier的算法参数。 示例: -x UCG_PLANC_UCX_BARRIER_ATTR=I:1 |
-x UCG_PLANC_UCX_ALLGATHERV_ATTR= |
|
可选参数,Allgatherv的算法参数。 示例: -x UCG_PLANC_UCX_ ALLGATHERV_ATTR=I:3 |
-x UCG_PLANC_UCX_SCATTERV_ATTR= |
|
可选参数,Scatterv的算法参数。 示例: -x UCG_PLANC_UCX_ SCATTERV_ATTR=I:1 |