HcclSetConfig

Description

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 does not need to be enabled. However, if the model execution results for multiple times are different or the accuracy is to be optimized, you can enable deterministic computing to assist debugging and optimization. However, after deterministic computing is enabled, the operator execution becomes slow, resulting in performance deterioration.

Prototype

HcclResult HcclSetConfig(HcclConfig config, HcclConfigValue configValue)

Parameters

Parameter

Input/Output

Description

config

Input

Configurable parameter in config.

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

configValue

Input

Value of the parameter configured in config.

HcclConfigValue type. For the HCCL_DETERMINISTIC parameter, the value 0 indicates that deterministic computing is not supported, and the value 1 indicates that deterministic computing is supported.

Returns

HcclResult: HCCL_SUCCESS on success; else, failure.

Constraints

None

Applicability

Atlas Training Series Product