Rate This Document
Findability
Accuracy
Completeness
Readability

Command Parameters of Hyper MPI 1.3.* and Later Versions

This section describes the command parameters of Hyper MPI 1.3.* and later versions.

When using Hyper MPI command parameters to specify algorithms, you can refer to Algorithms for the meaning of specific parameter values.

Table 1 Command parameter of Hyper MPI 1.3.*

Parameter

Value

Description

-x UCG_PLANC_UCX_ALLREDUCE_FANOUT_INTER_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of job nodes, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Allreduce algorithms 5, 6, 7, and 8.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_FANOUT_INTER_DEGREE=8

-x UCG_PLANC_UCX_ALLREDUCE_FANIN_INTER_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of job nodes, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Allreduce algorithms 5, 6, 7, and 8.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_FANIN_INTER_DEGREE=8

-x UCG_PLANC_UCX_ALLREDUCE_FANOUT_INTRA_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Allreduce algorithms 7 and 8.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_FANOUT_INTRA_DEGREE=2

-x UCG_PLANC_UCX_ALLREDUCE_FANIN_INTRA_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 4

(Optional) This parameter is used in Allreduce algorithms 7 and 8.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_FANIN_INTRA_DEGREE=4

-x UCG_PLANC_UCX_BARRIER_FANOUT_INTER_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of job nodes, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Barrier algorithms 4, 5, 6, and 7.

Example:

-x UCG_PLANC_UCX_BARRIER_FANOUT_INTER_DEGREE=8

-x UCG_PLANC_UCX_BARRIER_FANIN_INTER_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of job nodes, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Barrier algorithms 4, 5, 6, and 7.

Example:

-x UCG_PLANC_UCX_BARRIER_FANIN_INTER_DEGREE=8

-x UCG_PLANC_UCX_BARRIER_FANOUT_INTRA_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 2

(Optional) This parameter is used in Barrier algorithms 6 and 7.

Example:

-x UCG_PLANC_UCX_BARRIER_FANOUT_INTRA_DEGREE=2

-x UCG_PLANC_UCX_BARRIER_FANIN_INTRA_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 4

(Optional) This parameter is used in Barrier algorithms 6 and 7.

Example:

-x UCG_PLANC_UCX_BARRIER_FANIN_INTRA_DEGREE=8

-x UCG_PLANC_UCX_BCAST_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value ranges from 1 to 14.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Bcast algorithm parameter.

Example:

-x UCG_PLANC_UCX_BCAST_ATTR=I:4

-x UCG_PLANC_UCX_ALLREDUCE_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value ranges from 1 to 14.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies an Allreduce algorithm parameter.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_ATTR=I:7

-x UCG_PLANC_UCX_BARRIER_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value ranges from 1 to 10.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Barrier algorithm parameter.

Example:

-x UCG_PLANC_UCX_BARRIER_ATTR=I:1

-x UCG_PLANC_UCX_ALLTOALLV_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value can be 1 or 2.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies an Alltoallv algorithm parameter.

Example:

-x UCG_PLANC_UCX_ ALLTOALLV_ATTR=I:1

-x UCG_PLANC_UCX_ALLGATHERV_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value ranges from 1 to 6.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies an Allgatherv algorithm parameter.

Example:

-x UCG_PLANC_UCX_ ALLGATHERV_ATTR=I:3

-x UCG_PLANC_UCX_SCATTERV_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value ranges from 1 to 3.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Scatterv algorithm parameter.

Example:

-x UCG_PLANC_UCX_ SCATTERV_ATTR=I:1

-x UCG_PLANC_UCX_GATHERV_ATTR=

  • Type: string. The format is I:ID[S:scoreR:start-end].
  • Range:
    • id: mandatory. The value is 1.
    • score: optional. It can be any natural number.
    • start: optional. It can be any natural number.
    • end: optional. It can be any natural number.
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Gatherv algorithm parameter.

Example:

-x UCG_PLANC_UCX_ GATHERV_ATTR=I:1

-x UCG_PLANC_UCX_BCAST_NA_KNTREE_INTER_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of job nodes, for example, 2 to 8.

  • Default value: 8

(Optional) This parameter is used in Bcast algorithms 3 and 4.

Example:

-x UCG_PLANC_UCX_BCAST_NA_KNTREE_INTER_DEGREE=8

-x UCG_PLANC_UCX_BCAST_NA_KNTREE_INTRA_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 2

(Optional) This parameter is used in Bcast algorithm 4.

Example:

-x UCG_PLANC_UCX_BCAST_NA_KNTREE_INTRA_DEGREE=2

-x UCG_PLANC_UCX_REDUCE_KNTREE_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 2

(Optional) This parameter is used in Allreduce algorithms 2, 3, 5, 6, 7, and 8.

Example:

-x UCG_PLANC_UCX_REDUCE_KNTREE_DEGREE=2

-x UCG_PLANC_UCX_SCATTERV_KNTREE_DEGREE=

  • Type: int
  • Range: any positive integer
NOTE:

You are advised to set this parameter to a positive integer ranging from 2 to the number of processes involved in communication, for example, 2 to 8.

  • Default value: 2

(Optional) This parameter is used in Scatterv algorithm 2.

Example:

-x UCG_PLANC_UCX_SCATTERV_KNTREE_DEGREE=2

-x UCG_PLANC_UCX_SCATTERV_MIN_SEND_BATCH=

  • Type: int
  • Range: any natural number
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies the minimum boundary value of the TX batch processing mode for Scatterv algorithm 1.

Example:

-x UCG_PLANC_UCX_SCATTERV_MIN_SEND_BATCH=1

-x UCG_PLANC_UCX_SCATTERV_MAX_SEND_BATCH=

  • Type: int
  • Range: any natural number
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies the maximum boundary value of the TX batch processing mode for Scatterv algorithm 1.

Example:

-x UCG_PLANC_UCX_SCATTERV_MIN_SEND_BATCH=1

-x UCG_PLANC_UCX_NPOLLS=

  • Type: int
  • Range: any natural number
  • Default value: 3

(Optional) Specifies the number of UCP progress polling cycles for the P2P request test.

Example:

-x UCG_PLANC_UCX_NPOLLS=3

NOTE:

In a unidirectional request involving atomic operations (for example, osu_get_acc_latency/osu_acc_latency in the OSU benchmark), you can reduce the value (for example, set it to 0) to improve performance.

-x UCG_PLANC_UCX_USE_OOB=

  • Type: string
  • Range:
    • y or yes: forcibly enabled
    • n or no: disabled
  • Default value: yes

(Optional) Reuses the OMPI PML UCX link.

Example:

-x UCG_PLANC_UCX_USE_OOB=yes

-x UCG_USE_MT_MUTEX=

  • Type: string
  • Range:
    • y: mutex locks
    • n: spin locks
  • Default value: n

(Optional) Specifies the implementation mode of the multi-thread lock in the UCG.

Example:

-x UCG_USE_MT_MUTEX=n

-x UCG_LOG_LEVEL=

  • Type: string
  • Range:
    • fatal: error that causes the program to stop immediately
    • error: error message
    • warn: alarm message
    • info: informational message
    • debug: debug message
    • trace: detailed debug message
NOTE:

Log levels are ordered as: fatal > error > warn > info > debug > trace. The lower the level, the more detailed the log output. For example, if the level is set to warn, the system will output logs at the fatal, error, and warn levels.

  • Default value: warn

(Optional) Specifies the UCG log level.

Example:

-x UCG_LOG_LEVEL=warn

-x UCG_PLANC_UCX_PLANM=

  • Type: string
  • Range:
    • all: All components contain closed-source libraries.
    • none: The closed-source libraries are not used.
    • hicoll: The closed-source component HiColl is used.
  • Default value: all

(Optional) Specifies whether to load the closed-source libraries.

Example:

-x UCG_PLANC_UCX_PLANM=all

-x UCG_PLANC_UCX_ALLREDUCE_NUM_NAP_GROUP=

  • Type: int
  • Range: any positive integer
  • Default value: 1

(Optional) This parameter is used in Allreduce algorithm 11.

Example:

-x UCG_PLANC_UCX_ALLREDUCE_NUM_NAP_GROUP=1

-x UCG_PLANC_UCX_BARRIER_NUM_NAP_GROUP=

  • Type: int
  • Range: any positive integer
  • Default value: 1

(Optional) This parameter is used in Barrier algorithm 10.

Example:

-x UCG_PLANC_UCX_BARRIER_NUM_NAP_GROUP=1

-x UCG_PLANC_UCX_BCAST_ESBT_BLOCKS=

  • Type: int
  • Range: any natural number
  • Default value: 0

(Optional) This parameter is used in Bcast algorithm 9.

Example:

-x UCG_PLANC_UCX_BCAST_ESBT_BLOCKS=0

-x UCG_PLANC_UCX_ALLTOALLV_MIN_SEND_BATCH=

  • Type: int
  • Range: any natural number
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies the minimum boundary value of the TX batch processing mode for Alltoallv algorithm 1.

Example:

-x UCG_PLANC_UCX_ALLTOALLV_MIN_SEND_BATCH=0

-x UCG_PLANC_UCX_ALLTOALLV_MAX_SEND_BATCH=

  • Type: int
  • Range: any natural number
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies the maximum boundary value of the TX batch processing mode for Alltoallv algorithm 1.

Example:

-x UCG_PLANC_UCX_ALLTOALLV_MAX_SEND_BATCH=1

-x UCG_PLANC_UCX_REDUCE_CONSISTENCY=

  • Type: string
  • Range:
    • y: Ensure the consistency of Allreduce results.
    • n: Do not ensure the consistency of Allreduce results.
  • Default value: n

(Optional) Specifies whether to ensure the consistency of Allreduce results in UCG.

Example:

-x UCG_PLANC_UCX_REDUCE_CONSISTENCY=n

--mca coll_ucg_priority

  • Type: int
  • Range: any natural number
  • Default value: 90

(Optional) Specifies the priority for Hyper MPI to invoke the UCG module. A larger value indicates a higher priority.

Example:

--mca coll_ucg_priority 90

--mca coll_ucg_verbose

  • Type: int
  • Range: any natural number
  • Default value: 2

(Optional) Specifies the log verbosity of the UCG component.

Example:

--mca coll_ucg_verbose 2

--mca coll_ucg_max_rcache_size

  • Type: int
  • Range: any natural number
  • Default value: 10

(Optional) Specifies the request cache size of the COLL UCG component.

Example:

--mca coll_ucg_max_rcache_size 10

--mca coll_ucg_disable_coll

  • Type: string
  • Range: collection names. Use commas (,) to separate multiple collection names, for example, allreduce,bcast.
  • Default value: none

(Optional) Specifies the collective operations that are disabled after Hyper MPI optimization when a Hyper MPI job is running.

Example:

--mca coll_ucg_disable_coll barrier,bcast

--mca topo_tpm_enable

  • Type: int
  • Range:
    • 0: disable
    • 1: enable
  • Default value: 0

(Optional) Specifies whether to enable the process layout function.

Example:

--mca topo_tpm_enable 0

--mca pmix_pmix3x_wait_time

  • Type: long (unit: s)
  • Range: any natural number except 0
  • Default value: 5

(Optional) Specifies the duration for the client process to wait for the processing result from the server.

Example:

--mca pmix_pmix3x_wait_time 5

-x UCX_UD_VERBS_MIN_PENDING_TICK

  • Type: double (unit: s/ms/us/ns). The default unit is s.
  • Range: any real number greater than 0
  • Default value: 3s

(Optional) Specifies the minimum scheduler suspension time to prevent false timeout reporting due to scheduler suspension under the UD VERBS protocol.

Example:

-x UCX_UD_VERBS_MIN_PENDING_TICK=2s

-x UCX_UD_MLX5_MIN_PENDING_TICK

  • Type: double (unit: s/ms/us/ns). The default unit is s.
  • Range: any real number greater than 0
  • Default value: 3s

(Optional) Specifies the minimum scheduler suspension time to prevent false timeout reporting due to scheduler suspension under the UD MLX5 protocol.

Example:

-x UCX_UD_MLX5_MIN_PENDING_TICK=2s

-x UCX_MIN_PENDING_TIME

  • Type: double (unit: s/ms/us/ns). The default unit is s.
  • Range: any real number greater than 0
  • Default value: 3s

(Optional) Specifies the minimum scheduler suspension time to prevent false timeout reporting due to scheduler suspension during UCP request timeout detection.

Example:

-x UCX_MIN_PENDING_TIME=2s

-x UCX_REQ_TIMEOUT

  • Type: double (unit: s/ms/us/ns). The default unit is s.
  • Range: any real number greater than 0
  • Default value: 600s

(Optional) Specifies the timeout threshold for UCP request timeout detection. When the duration of a point-to-point communication request that is not completed exceeds the threshold, a timeout alarm is generated.

Example:

-x UCX_REQ_TIMEOUT=100s