通过pg_options配置HCCL通信域参数

简介

本特性可以针对不同的通信域配置不同的HCCL配置。通过pg_options添加hccl_config配置,将HCCL配置参数从Python层透过Ascend Extension for PyTorch传递到HCCL供使用。

目前支持的通信域参数配置如下:
  • hccl_buffer_size
  • group_name
  • qos_service_level、qos_traffic_class
  • hccl_op_expansion_mode

使用场景

在模型脚本中按通信域粒度配置HCCL参数。

使用指导

如果同时设置环境变量和pg_options,参数取值以代码中的pg_options方式优先。

支持配置HCCL通信域参数:

使用样例

配置hccl_buffer_size示例:

1
2
3
options = torch_npu._C._distributed_c10d.ProcessGroupHCCL.Options()
options.hccl_config = {"hccl_buffer_size": 200}
torch.distributed.init_process_group(backend="hccl", pg_options=options)

配置group_name示例:

1
2
3
options = torch_npu._C._distributed_c10d.ProcessGroupHCCL.Options()
options.hccl_config = {"group_name": "group0"}
torch.distributed.init_process_group(backend="hccl", pg_options=options)

配置qos_service_level、qos_traffic_class示例:

1
2
3
options = torch_npu._C._distributed_c10d.ProcessGroupHCCL.Options()
options.hccl_config = {"qos_service_level":7, "qos_traffic_class":224}
torch.distributed.init_process_group(backend="hccl", pg_options=options)

配置hccl_op_expansion_mode示例:

1
2
3
options = torch_npu._C._distributed_c10d.ProcessGroupHCCL.Options()
options.hccl_config ={"hccl_op_expansion_mode":3}
torch.distributed.init_process_group(backend="hccl", pg_options=options)

约束说明