HCCL_BUFFSIZE
功能描述
此环境变量用于控制两个NPU之间共享数据的缓存区大小。单位为M,需要配置为整数,取值大于等于1,默认值为200,单位M。
集合通信网络中,每一个HCCL通信域都会占用HCCL_BUFFSIZE大小的缓存区。若集群网络中存在较多的HCCL通信域,此缓存区占用量就会增多,可能存在影响模型数据正常存放的风险,此种场景下,可通过此环境变量减少通信域占用的缓存区大小;若业务的模型数据量较小,但通信数据量较大,则可通过此环境变量增大HCCL通信域占用的缓存区大小,提升数据通信效率。
大语言模型中的建议配置值如下:
(MircobatchSize * SequenceLength * hiddenSize * sizeOf (DataType) )/(1024*1024),向上取整。
需要注意:
- 该环境变量申请的内存为HCCL独占,不可与其他业务内存复用。
- 每个通信域占用“2*HCCL_BUFFSIZE”大小的内存,分别用于收发内存。
- 该资源按通信域粒度管理,每个通信域独占一组“2*HCCL_BUFFSIZE”大小的内存,保证多通信域并发算子互不影响。
- 针对集合通信算子,当数据量超过HCCL_BUFFSIZE的取值时,可能会出现性能下降的情况,建议HCCL_BUFFSIZE的取值大于数据量。
配置示例
export HCCL_BUFFSIZE=200
使用约束
无
支持的型号
Atlas 训练系列产品
Atlas 300I Duo 推理卡
Atlas A2 训练系列产品
父主题: 集合通信