HCCL_DETERMINISTIC
功能描述
此环境变量用于配置是否开启归约类通信算子的确定性计算或保序功能,其中归约类通信算子包括AllReduce、ReduceScatter、Reduce,归约保序是指严格的确定性计算,在确定性的基础上保证归约顺序一致。
开启归约算子的确定性计算或保序功能后,算子在相同的硬件和输入下,多次执行将产生相同的输出。
HCCL_DETERMINISTIC支持的取值如下:
- true:开启归约类通信算子的确定性计算,并关闭保序功能。
- false:关闭确定性计算和保序功能。
- strict:开启严格确定性计算,即保序功能。配置为该参数时需满足以下条件:
- 仅支持通信算子AllReduce和ReduceScatter。
- 仅支持
Atlas A2 训练系列产品 的单机和多机对称分布场景,不支持多机单卡和非对称分布的场景。 - 开启保序时,不支持饱和模式,仅支持INF/NaN模式。
- 相较于确定性计算,开启保序功能后会产生一定的性能下降,建议在推理场景下使用该功能。
默认值为“false”。
一般情况下无需开启归约算子的确定性计算或保序功能,当模型多次执行结果不同或者精度调优时,可通过此环境变量开启确定性计算或保序功能进行辅助调试调优,但开启后,算子执行时间会变慢,导致性能下降。
配置示例
export HCCL_DETERMINISTIC=true
使用约束
无
支持的型号
父主题: 集合通信