Rate This Document
Findability
Accuracy
Completeness
Readability

Command Parameters of Hyper MPI 1.2.* and Earlier Versions

Hyper MPI supports the command parameters of Hyper MPI 1.3.*, and is compatible with the command parameters of 1.2.* and earlier versions. This section describes the command parameters of Hyper MPI 1.2.* and earlier versions, and the effective rules and mappings between the command parameters of Hyper MPI 1.2.* and earlier versions and those of Hyper MPI 1.3.*.

Effective Rules

  • If no value is manually assigned to the command parameters of any version, the default values for Hyper MPI 1.3.* take effect.
  • If you manually assign values to Hyper MPI command parameters, the effective rules are listed in Table 1.
    Table 1 Effective rules

    Command Parameter of Hyper MPI 1.3.*

    Command Parameter of Hyper MPI 1.2.* and Earlier Versions

    Effective Value

    Valid

    Invalid

    Valid

    Invalid

    -

    -

    Values of the parameters in Hyper MPI 1.3.*

    -

    -

    Values of the parameters in Hyper MPI 1.3.*

    -

    -

    Values of the parameters in Hyper MPI 1.2.* and earlier versions

    -

    -

    Default values of the parameters in Hyper MPI 1.3.*

    -

    -

    -

    Values of the parameters in Hyper MPI 1.3.*

    -

    -

    -

    Default values of the parameters in Hyper MPI 1.3.*

    -

    -

    -

    Values of the parameters in Hyper MPI 1.2.* and earlier versions

    -

    -

    -

    Default values of the parameters in Hyper MPI 1.3.*

  • If you manually assign values to Hyper MPI command parameters, the effective rules are as follows:
    • If valid values are simultaneously assigned to command parameters of Hyper MPI 1.3.*, 1.2.*, and earlier versions, the values for Hyper MPI 1.3.* take effect.
    • If values are assigned to command parameters of Hyper MPI 1.3.*, 1.2.*, and earlier versions but the values for Hyper MPI 1.2.* and earlier versions are invalid, the values for Hyper MPI 1.3.* take effect.
    • If values are simultaneously assigned to command parameters of Hyper MPI 1.3.*, 1.2.*, and earlier versions but the values for Hyper MPI 1.3.* are invalid, the values for Hyper MPI 1.2.* and earlier versions take effect.
    • If invalid values are assigned to command parameters of Hyper MPI 1.3.*, 1.2.*, and earlier versions, the default values for Hyper MPI 1.3.* take effect.
    • If valid values are assigned to command parameters of Hyper MPI 1.3.*, the values for Hyper MPI 1.3.* take effect.
    • If invalid values are assigned to command parameters of Hyper MPI 1.3.*, the default values for Hyper MPI 1.3.* take effect.
    • If valid values are assigned to command parameters of Hyper MPI 1.2.* and earlier versions, the values for Hyper MPI 1.2.* and earlier versions take effect.
    • If invalid values are assigned to command parameters of Hyper MPI 1.2.* and earlier versions, the default values for Hyper MPI 1.3.* take effect.

Usage Suggestions

  • Compared with the command parameters of Hyper MPI 1.2.*, those of Hyper MPI 1.3.* provide more comprehensive and better performance. Therefore, you are advised to use the command parameters of Hyper MPI 1.3.*.
  • When using Hyper MPI command parameters to specify algorithms, you can refer to Algorithms for the meaning of specific parameter values.

Command Parameters and Mapping

Table 2 Command parameters in Hyper MPI 1.2.* and earlier versions and their mapping to those in Hyper MPI 1.3.*

Command Parameter of Hyper MPI 1.2.* and Earlier Versions

Command Parameter of Hyper MPI 1.3.*

Value

Description

-x UCX_BUILTIN_DEGREE_INTER_FANOUT=

-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.

  • Default value: 8

(Optional) Specifies the fan-out value of the inter-node K-nomial tree used by the algorithm. Applicable algorithms:

  • Allreduce algorithms 7 and 8
  • Barrier algorithms 6 and 7
  • Bcast algorithm 4

Example:

-x UCX_BUILTIN_DEGREE_INTER_FANOUT=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 that participate in communication.

  • Default value: 8

-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.

  • Default value: 8

-x UCX_BUILTIN_DEGREE_INTER_FANIN=

-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.

  • Default value: 8

(Optional) Specifies the fan-in value of the inter-node K-nomial tree used by the algorithm. Applicable algorithms:

  • Allreduce algorithms 7 and 8
  • Barrier algorithms 6 and 7

Example:

-x UCX_BUILTIN_DEGREE_INTER_FANIN=8

-x UCG_PLANC_UCX_BARRIER_FANIN_INTER_DEGREE=

-x UCX_BUILTIN_DEGREE_INTRA_FANOUT=

-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 that participate in communication.

  • Default value: 2

(Optional) Specifies the fan-out value of the intra-node K-nomial tree used by the algorithm. Applicable algorithms:

  • Allreduce algorithms 5, 6, 7, and 8
  • Barrier algorithms 4, 5, 6, and 7
  • Bcast algorithms 3 and 4

Example:

-x UCX_BUILTIN_DEGREE_INTRA_FANOUT=8

-x UCG_PLANC_UCX_BARRIER_FANOUT_INTRA_DEGREE=

-x UCG_PLANC_UCX_BCAST_NA_KNTREE_INTRA_DEGREE=

-x UCX_BUILTIN_DEGREE_INTRA_FANIN=

-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 that participate in communication.

  • Default value: 2

(Optional) Specifies the fan-in value of the intra-node K-nomial tree used by the algorithm. Applicable algorithms:

  • Allreduce algorithms 5, 6, 7, and 8
  • Barrier algorithms 4, 5, 6, and 7

Example:

-x UCX_BUILTIN_DEGREE_INTRA_FANIN=2

-x UCG_PLANC_UCX_BARRIER_FANIN_INTRA_DEGREE=

-x UCX_BUILTIN_BCAST_ALGORITHM=

-x UCG_PLANC_UCX_BCAST_ATTR=

  • Type: int
  • Range: 1 to 5
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Bcast algorithm.

Example:

-x UCX_BUILTIN_BCAST_ALGORITHM=4

-x UCX_BUILTIN_ALLREDUCE_ALGORITHM=

-x UCG_PLANC_UCX_ALLREDUCE_ATTR=

  • Type: int
  • Range: 1 to 14
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies an Allreduce algorithm.

Example:

-x UCX_BUILTIN_ALLREDUCE_ALGORITHM=7

-x UCX_BUILTIN_BARRIER_ALGORITHM=

-x UCG_PLANC_UCX_BARRIER_ATTR=

  • Type: int
  • Range: 1 to 10
  • Default value: not fixed; it is assigned according to the effective rules.

(Optional) Specifies a Barrier algorithm.

Example:

-x UCX_BUILTIN_BARRIER_ALGORITHM=1

-x UCX_BUILTIN_MAX_MSG_LIST_SIZE=

-x UCG_PLANC_UCX_NPOLLS=

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

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

Example:

-x UCX_BUILTIN_MAX_MSG_LIST_SIZE=40

-x UCX_BUILTIN_REDUCE_CONSISTENCY=

-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 UCX_BUILTIN_REDUCE_CONSISTENCY=n