---
title: HcclSetConfig
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/hcclug/hcclcpp_07_0013.html
sourcePath: /source/zh/canncommercial/900/API/hcclug/hcclcpp_07_0013.html
indexId: 15983d77d42bfef2f2731461aecb648a805283bff7e2103a5c2d9dfaa5458dee61
---
# HcclSetConfig

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | ☓ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | ☓ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


针对 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 ，仅支持Atlas 800T A2 训练服务器、Atlas 900 A2 PoD 集群基础单元、Atlas 200T A2 Box16 异构子框。

针对 Atlas 推理系列产品 ，仅支持Atlas 300I Duo 推理卡。


#### 功能说明

进行集合通信相关配置，当前仅支持配置是否支持确定性计算。

在不开启确定性计算的场景下，多次执行的结果可能不同。这个差异的来源，一般是因为在算子实现中存在异步的多线程执行，会导致浮点数累加的顺序变化。当开启确定性计算后，算子在相同的硬件和输入下，多次执行将产生相同的输出。

默认情况下，无需开启确定性计算或保序功能，但当发现模型执行多次结果不同或者精度调优时，可以开启确定性计算或保序功能辅助进行调试调优，但开启后，算子执行时间会变慢，导致性能下降。


#### 函数原型

```
HcclResult HcclSetConfig(HcclConfig config, HcclConfigValue configValue)
```


#### 参数说明

| 参数名 | 输入/输出 | 描述 |
| --- | --- | --- |
| config | 输入 | config中可配置的参数。 HcclConfig类型，当前版本仅支持配置“HCCL\_DETERMINISTIC”。 |
| configValue | 输入 | config中所配置参数的取值。 请参见HcclConfigValue类型。 |


#### 返回值

HcclResult：接口成功返回HCCL_SUCCESS，其他失败。


#### 约束说明

无


#### 调用示例

```
// 开启确定性计算
HcclConfig config = HCCL_DETERMINISTIC;
union HcclConfigValue configValue;
configValue.value = 1;
HcclSetConfig(config, configValue);
```
