本特性可以针对不同的通信域配置不同的HCCL配置。通过pg_options添加hccl_config配置,将HCCL配置参数从Python层透过Ascend Extension for PyTorch传递到HCCL供使用。
在模型脚本中按通信域粒度配置HCCL参数。
如果同时设置环境变量和pg_options,参数取值以代码中的pg_options方式优先。
支持配置HCCL通信域参数:
环境变量HCCL_OP_EXPANSION_MODE的详情请参见《CANN 环境变量参考》中的“HCCL_OP_EXPANSION_MODE”章节。
配置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) |
无