HCCL_EXEC_TIMEOUT

Description

During distributed training or inference, tasks executed by different device processes may be inconsistent, for example, only specific processes save the checkpoint data. This environment variable controls the synchronization wait time during task execution between devices. Within this configured time, each device process waits for other devices to perform communication synchronization.

  • For the Atlas 350 Accelerator Card: The value range is [0, 2147483647], in seconds. The default value is 1836. Only integer values are allowed. A value of 0 means no timeout limit.
  • For the Atlas A3 training product / Atlas A3 inference product :
    • In AI_CPU and AICPU_CacheDisable modes (see HCCL_OP_EXPANSION_MODE for details), the value range is [0, 2147483647], in seconds. The default value is 1836. Configurations with 10-millisecond precision are supported (for example, set it to 0.05 for a 50-millisecond timeout). A value of 0 means no timeout limit.
    • In AIV mode, the value range is [0, 1091], in seconds. The default value is 1091. Configurations with 10-millisecond precision are supported (for example, set it to 0.05 for a 50-millisecond timeout). If the value is set to 0 or exceeds the maximum value 1091, the value 1091 is used.

      In AIV mode, the actual effective timeout is interval × N × 10–3 milliseconds, where interval denotes the minimum operator timeout interval supported by the hardware (obtainable via the aclrtGetOpTimeoutInterval API), and N is an integer ranging from 1 to 254. If the configured timeout value does not equal interval × N × 10–3, the value will be rounded up to the nearest value of interval × N × 10–3.

  • For the Atlas A2 training product / Atlas A2 inference product :
    • In HOST and HOST_TS modes (see HCCL_OP_EXPANSION_MODE for details), the value range is [0, 2147483647], in seconds. The default value is 1836. Only integer values are allowed. A value of 0 means no timeout limit.
    • In AIV mode, the value range is [0, 1091], in seconds. The default value is 1091. Configurations with 10-millisecond precision are supported (for example, set it to 0.05 for a 50-millisecond timeout). If the value is set to 0 or exceeds the maximum value 1091, the value 1091 is used.

      In AIV mode, the actual effective timeout is interval × N × 10–3 milliseconds, where interval denotes the minimum operator timeout interval supported by the hardware (obtainable via the aclrtGetOpTimeoutInterval API), and N is an integer ranging from 1 to 254. If the configured timeout value does not equal interval × N × 10–3, the value will be rounded up to the nearest value of interval × N × 10–3.

  • For the Atlas training product : The value range is (0, 17340], in seconds. The default value is 1836. Only integer values are allowed.

    Note: For the Atlas training product , the actual timeout set by the system is calculated as (value of the environment variable // 68) × 68 (unit: second). If the configured value of the environment variable is less than 68, the system will use 68 seconds as the timeout by default.

    For example, if HCCL_EXEC_TIMEOUT is set to 600, the actual timeout interval is 600 // 68 × 68 = 8 × 68 = 544s.

  • For the Atlas inference product : The value range is (0, 17340], in seconds. The default value is 1836. Only integer values are allowed.

    Note: For the Atlas inference product , the actual timeout set by the system is calculated as (value of the environment variable // 68) × 68 (unit: second). If the configured value of the environment variable is less than 68, the system will use 68 seconds as the timeout by default.

    For example, if HCCL_EXEC_TIMEOUT is set to 600, the actual timeout interval is 600 // 68 × 68 = 8 × 68 = 544s.

In normal cases, you need to retain the default configuration. When the default value cannot meet the requirements for communication synchronization between devices, set this environment variable to increase the synchronization wait period between devices.

Example

export HCCL_EXEC_TIMEOUT=1800

Constraints

If you call the HCCL C APIs to initialize a communicator with specific configurations and set the synchronization waiting timeout for inter-device execution via the hcclExecTimeOut parameter in HcclCommConfig, the configuration at the communicator granularity takes precedence.

Applicability

Atlas 350 Accelerator Card

Atlas A3 training product / Atlas A3 inference product

Atlas A2 training product / Atlas A2 inference product (For Atlas A2 training product / Atlas A2 inference product , only the Atlas 800T A2 training server, Atlas 900 A2 PoD cluster basic unit, and Atlas 200T A2 Box16 heterogeneous subrack are supported.)

Atlas training product

Atlas inference product (For Atlas inference product , only Atlas 300I Duo Inference Card is supported.)