HcclSetConfig

Applicability

Product

Supported

Atlas 350 Accelerator Card

Atlas A3 training product/Atlas A3 inference product

Atlas A2 training product/Atlas A2 inference product

Atlas 200I/500 A2 inference product

Atlas inference product

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

For the Atlas inference products, only the Atlas 300I Duo inference card is supported.

Function

Sets collective communication. Currently, only the support status of deterministic computing can be configured.

If deterministic computing is disabled, the results of multiple executions may be different. This is generally caused by asynchronous multi-thread executions during operator implementation, which changes the accumulation sequence of floating-point numbers. When deterministic computing is enabled, the same output is generated if an operator is executed for multiple times with the same hardware and input.

By default, deterministic computing or order preservation does not need to be enabled. If the model execution results are different or precision tuning is required, you can enable either to assist debugging and optimization. Note that enabling this function will slow down operator execution and degrade performance.

Prototype

1
HcclResult HcclSetConfig(HcclConfig config, HcclConfigValue configValue)

Parameters

Parameter

Input/Output

Description

config

Input

Parameter configured in config.

HcclConfig type. In the current version, this parameter can only be HCCL_DETERMINISTIC.

configValue

Input

Value of the parameter configured in config.

For details, see the HcclConfigValue type.

Returns

HcclResult: HCCL_SUCCESS on success, or else failure.

Constraints

None.

Call Example

1
2
3
4
5
// Enable deterministic computing.
HcclConfig config = HCCL_DETERMINISTIC;
union HcclConfigValue configValue;
configValue.value = 1;
HcclSetConfig(config, configValue);