---
title: Hyper MPI 1.3.*及以上版本命令参数
description: "本文介绍当前Hyper MPI 1.3.*及以上版本命令参数。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0077.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0077.html
indexId: 315fa33cd3614a59010bcefb768a30c9fb33f8e73db7c770b4bb38bab2bfe0d160
---
# Hyper MPI 1.3.*及以上版本命令参数

本文介绍当前Hyper MPI 1.3.*及以上版本命令参数。

使用Hyper MPI命令参数指定算法时，可以参考算法地图了解具体参数值的含义。


**表1 Hyper MPI 1.3.*版本命令参数**

| Hyper MPI 1.3.\*版本命令参数 | 取值 | 参数说明 |
| --- | --- | --- |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANOUT\_INTER\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~运行作业节点数量间的正整数，例如2~8。 默认值：8 | 可选参数，Allreduce算法的算法序号为5、6、7和8时的参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANOUT\_INTER\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANIN\_INTER\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~运行作业节点数量间的正整数，例如2~8。 默认值：8 | 可选参数，Allreduce算法的算法序号为5、6、7和8时的参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANIN\_INTER\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANOUT\_INTRA\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：8 | 可选参数，Allreduce算法的算法序号为7和8时的参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANOUT\_INTRA\_DEGREE=2 |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANIN\_INTRA\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：4 | 可选参数，Allreduce算法的算法序号为7和8时的参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_FANIN\_INTRA\_DEGREE=4 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_FANOUT\_INTER\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~运行作业节点数量间的正整数，例如2~8。 默认值：8 | 可选参数，Barrier算法的算法序号为4、5、6和7时的参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_FANOUT\_INTER\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_FANIN\_INTER\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~运行作业节点数量间的正整数，例如2~8。 默认值：8 | 可选参数，Barrier算法的算法序号为4、5、6和7时的参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_FANIN\_INTER\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_FANOUT\_INTRA\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：2 | 可选参数，Barrier算法的算法序号为6和7时的参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_FANOUT\_INTRA\_DEGREE=2 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_FANIN\_INTRA\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：4 | 可选参数，Barrier算法的算法序号为6和7时的参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_FANIN\_INTRA\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_BCAST\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1~14。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Bcast的算法参数。 示例： \-x UCG\_PLANC\_UCX\_BCAST\_ATTR=I:4 |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1~14。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Allreduce的算法参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_ATTR=I:7 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1~10。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Barrier的算法参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_ATTR=I:1 |
| \-x UCG\_PLANC\_UCX\_ALLTOALLV\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1或2。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Alltoallv的算法参数。 示例： \-x UCG\_PLANC\_UCX\_ ALLTOALLV\_ATTR=I:1 |
| \-x UCG\_PLANC\_UCX\_ALLGATHERV\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1~6。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Allgatherv的算法参数。 示例： \-x UCG\_PLANC\_UCX\_ ALLGATHERV\_ATTR=I:3 |
| \-x UCG\_PLANC\_UCX\_SCATTERV\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1~3。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Scatterv的算法参数。 示例： \-x UCG\_PLANC\_UCX\_ SCATTERV\_ATTR=I:1 |
| \-x UCG\_PLANC\_UCX\_GATHERV\_ATTR= | 取值类型：string，格式为I:id[S:scoreR:start\-end]。 取值范围： id：必填，1。 score：选填，任意自然数。 start：选填，任意自然数。 end：选填，任意自然数。 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Gatherv的算法参数。 示例： \-x UCG\_PLANC\_UCX\_ GATHERV\_ATTR=I:1 |
| \-x UCG\_PLANC\_UCX\_BCAST\_NA\_KNTREE\_INTER\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~运行作业节点数量间的正整数，例如2~8。 默认值：8 | 可选参数，Bcast算法的算法序号为3和4时的参数。 示例： \-x UCG\_PLANC\_UCX\_BCAST\_NA\_KNTREE\_INTER\_DEGREE=8 |
| \-x UCG\_PLANC\_UCX\_BCAST\_NA\_KNTREE\_INTRA\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：2 | 可选参数，Bcast算法的算法序号为4时的参数。 示例： \-x UCG\_PLANC\_UCX\_BCAST\_NA\_KNTREE\_INTRA\_DEGREE=2 |
| \-x UCG\_PLANC\_UCX\_REDUCE\_KNTREE\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：2 | 可选参数，Allreduce算法的算法序号为2、3、5、6、7和8时的参数。 示例： \-x UCG\_PLANC\_UCX\_REDUCE\_KNTREE\_DEGREE=2 |
| \-x UCG\_PLANC\_UCX\_SCATTERV\_KNTREE\_DEGREE= | 取值类型：int 取值范围：任意正整数 说明： 建议配置为2~参与通信进程数量间的正整数，例如2~8。 默认值：2 | 可选参数，Scatterv算法的算法序号为2时的参数。 示例： \-x UCG\_PLANC\_UCX\_SCATTERV\_KNTREE\_DEGREE=2 |
| \-x UCG\_PLANC\_UCX\_SCATTERV\_MIN\_SEND\_BATCH= | 取值类型：int 取值范围：任意自然数 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Scatterv算法的算法序号为1时，发送批处理模式的最小边界值。 示例： \-x UCG\_PLANC\_UCX\_SCATTERV\_MIN\_SEND\_BATCH=1 |
| \-x UCG\_PLANC\_UCX\_SCATTERV\_MAX\_SEND\_BATCH= | 取值类型：int 取值范围：任意自然数 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Scatterv算法的算法序号为1时，发送批处理模式的最大边界值。 示例： \-x UCG\_PLANC\_UCX\_SCATTERV\_MIN\_SEND\_BATCH=1 |
| \-x UCG\_PLANC\_UCX\_NPOLLS= | 取值类型：int 取值范围：任意自然数 默认值：3 | 可选参数，P2P请求测试UCP进度轮询周期数。 示例： \-x UCG\_PLANC\_UCX\_NPOLLS=3 说明： 在涉及原子操作的单边请求（例如osu的benchmark：osu\_get\_acc\_latency/osu\_acc\_latency）场景中，可通过减小该值（例如设置为0），提高性能。 |
| \-x UCG\_PLANC\_UCX\_USE\_OOB= | 取值类型：string 取值范围： y或yes：强制开启 n或no：关闭 默认值：yes | 可选参数，复用ompi pml ucx链路。 示例： \-x UCG\_PLANC\_UCX\_USE\_OOB=yes |
| \-x UCG\_USE\_MT\_MUTEX= | 取值类型：string 取值范围： y：使用mutex锁 n：使用spinlock锁 默认值：n | 可选参数，在UCG中支持多线程的锁的实现方式。 示例： \-x UCG\_USE\_MT\_MUTEX=n |
| \-x UCG\_LOG\_LEVEL= | 取值类型：string 取值范围： fatal：错误，程序会立即终止。 error：错误信息。 warn：告警信息。 info：提示信息。 debug：调试信息。 trace：详细调试信息。 说明： 日志级别fatal>error>warn>info>debug>trace，级别越低，打印的日志信息越详细，例如设置为warn，则会打印fatal、error和warn级别的日志信息。 默认值：warn | 可选参数，指定UCG日志级别。 示例： \-x UCG\_LOG\_LEVEL=warn |
| \-x UCG\_PLANC\_UCX\_PLANM= | 取值类型：string 取值范围： all：所有组件包含闭源库 none：不使用闭源库 hicoll：使用闭源组件hicoll 默认值：all | 可选参数，是否加载闭源库。 示例： \-x UCG\_PLANC\_UCX\_PLANM=all |
| \-x UCG\_PLANC\_UCX\_ALLREDUCE\_NUM\_NAP\_GROUP= | 取值类型：int 取值范围：任意正整数 默认值：1 | 可选参数，Allreduce算法的算法序号为11时的参数。 示例： \-x UCG\_PLANC\_UCX\_ALLREDUCE\_NUM\_NAP\_GROUP=1 |
| \-x UCG\_PLANC\_UCX\_BARRIER\_NUM\_NAP\_GROUP= | 取值类型：int 取值范围：任意正整数 默认值：1 | 可选参数，Barrier算法的算法序号为10时的参数。 示例： \-x UCG\_PLANC\_UCX\_BARRIER\_NUM\_NAP\_GROUP=1 |
| \-x UCG\_PLANC\_UCX\_BCAST\_ESBT\_BLOCKS= | 取值类型：int 取值范围：任意自然数 默认值：0 | 可选参数，Bcast算法的算法序号为9时的参数。 示例： \-x UCG\_PLANC\_UCX\_BCAST\_ESBT\_BLOCKS=0 |
| \-x UCG\_PLANC\_UCX\_ALLTOALLV\_MIN\_SEND\_BATCH= | 取值类型：int 取值范围：任意自然数 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Alltoallv算法的算法序号为1时的参数，发送批处理模式的最小边界值。 示例： \-x UCG\_PLANC\_UCX\_ALLTOALLV\_MIN\_SEND\_BATCH=0 |
| \-x UCG\_PLANC\_UCX\_ALLTOALLV\_MAX\_SEND\_BATCH= | 取值类型：int 取值范围：任意自然数 默认值：无固定值，根据生效规则调节赋值。 | 可选参数，Alltoallv算法的算法序号为1时的参数，发送批处理模式的最大边界值。 示例： \-x UCG\_PLANC\_UCX\_ALLTOALLV\_MAX\_SEND\_BATCH=1 |
| \-x UCG\_PLANC\_UCX\_REDUCE\_CONSISTENCY= | 取值类型：string 取值范围： y：保证allreduce结果一致性 n：不保证allreduce结果一致性 默认值：n | 可选参数，UCG中Allreduce结果是否保证一致性。 示例： \-x UCG\_PLANC\_UCX\_REDUCE\_CONSISTENCY=n |
| \-\-mca coll\_ucg\_priority | 取值类型：int 取值范围：任意自然数 默认值：90 | 可选参数，Hyper MPI调用UCG模块的优先级，值越大，优先级越高。 示例： \-\-mca coll\_ucg\_priority 90 |
| \-\-mca coll\_ucg\_verbose | 取值类型：int 取值范围：任意自然数 默认值：2 | 可选参数，UCG组件的日志详细程度。 示例： \-\-mca coll\_ucg\_verbose 2 |
| \-\-mca coll\_ucg\_max\_rcache\_size | 取值类型：int 取值范围：任意自然数 默认值：10 | 可选参数，coll ucg组件的请求cache大小。 示例： \-\-mca coll\_ucg\_max\_rcache\_size 10 |
| \-\-mca coll\_ucg\_disable\_coll | 取值类型：string 取值范围：集合名称，多个集合名称之间用英文逗号（,）间隔，例如allreduce,bcast。 默认值：无 | 可选参数，运行Hyper MPI作业时，禁用的Hyper MPI优化后的集合操作。 示例： \-\-mca coll\_ucg\_disable\_coll barrier,bcast |
| \-\-mca topo\_tpm\_enable | 取值类型：int 取值范围： 0：关闭 1：开启 默认值：0 | 可选参数，是否使用进程排布功能。 示例： \-\-mca topo\_tpm\_enable 0 |
| \-\-mca pmix\_pmix3x\_wait\_time | 取值类型：long，单位为s 取值范围：除0以外的任意自然数 默认值：5 | 可选参数，Client端进程等待Server端返回处理结果的时间。 示例： \-\-mca pmix\_pmix3x\_wait\_time 5 |
| \-x UCX\_UD\_VERBS\_MIN\_PENDING\_TICK | 取值类型：double单位可为s/ms/us/ns，默认单位为s 取值范围：任意大于0的实数 默认值：3s | 可选参数，调度器的最小挂起时间，防止UD VERBS协议下因调度器挂起导致误报超时。 示例： \-x UCX\_UD\_VERBS\_MIN\_PENDING\_TICK=2s |
| \-x UCX\_UD\_MLX5\_MIN\_PENDING\_TICK | 取值类型：double单位可为s/ms/us/ns，默认单位为s 取值范围：任意大于0的实数 默认值：3s | 可选参数，调度器的最小挂起时间，防止UD MLX5协议下因调度器挂起导致误报超时。 示例： \-x UCX\_UD\_MLX5\_MIN\_PENDING\_TICK=2s |
| \-x UCX\_MIN\_PENDING\_TIME | 取值类型：double单位可为s/ms/us/ns，默认单位为s 取值范围：任意大于0的实数 默认值：3s | 可选参数，调度器的最小挂起时间，防止ucp request超时检测中因调度器挂起导致误报超时。 示例： \-x UCX\_MIN\_PENDING\_TIME=2s |
| \-x UCX\_REQ\_TIMEOUT | 取值类型：double单位可为s/ms/us/ns，默认单位为s 取值范围：任意大于0的实数 默认值：600s | 可选参数，ucp request超时检测的超时阈值，当点对点通信请求未完成时间超过该阈值时给出超时报警。 示例： \-x UCX\_REQ\_TIMEOUT=100s |
