ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Atlas A2 训练/推理系列产品 HCCL 通信算子支持度与能力矩阵指南

Atlas A2 训练/推理系列产品 HCCL 通信算子支持度与能力矩阵指南 Atlas A2 训练/推理系列产品 HCCL 通信算子支持度与能力矩阵指南【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hcclAtlas A2 训练系列产品/Atlas A2 推理系列产品对应 comm_ops_support_a2.md上HCCL 集合通信库提供完整的通信算子集但在单算子零拷贝、重执行、确定性计算等高级特性上有着与其他产品线截然不同的支持边界。本文以该支持度清单为骨架逐项解析 HOST/HOST_TS 与 AIV 两种算子展开模式下的算子能力矩阵并结合 HCCL_DETERMINISTIC、HCCL_OP_EXPANSION_MODE 等环境变量与 HCCL 源码实现说明各特性的底层机制、适用前提与配置方法。读完本文你将能够对照支持矩阵快速评估业务算子在此平台的可用性理解确定性计算、AIV 展开等特性对通信性能与稳定性的影响并掌握在 Atlas A2 平台上正确配置通信展开模式与归约行为的实操方法。一、文档定位与阅读前提本文是 HCCL 通信算子支持度清单体系中的一员。完整的清单位于 docs/zh/user_guide/comm_ops_support_list/README.md按产品线分别给出了 Ascend 950PR/Ascend 950DT、Atlas A3、Atlas A2本文主题、Atlas 训练系列 与 Atlas 推理系列 的支持情况便于跨产品线横向对比。阅读前需明确几个贯穿全文的约定支持情况按通信算子的展开模式HOST/HOST_TS、AIV分别呈现未列出的展开模式代表不支持表格中√代表支持×代表不支持NA代表不涉及Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持单算子零拷贝与重执行未列出的算子与网络运行模式代表不支持。三个核心特性概念单算子零拷贝为降低内存拷贝开销使 HCCL 可以直接对业务传入的内存进行操作从而提升通信性能。开启后ReduceScatter 与 AllReduce 等归约算子可能直接修改用户输入内存详见 HCCL_OP_RETRY_ENABLE 中对输入内存污染风险的说明。通信算子重执行网络故障导致通信闪断时HCCL 会尝试重新执行此通信算子提升通信稳定性。该特性以通信域为粒度仅在 AI_CPU 展开模式下生效Atlas A2 产品不支持。确定性计算归约类通信算子在相同的硬件和输入下多次执行将产生相同的输出主要用于模型多次执行结果不一致时的调试与精度调优。二、HOST/HOST_TS 展开模式下的算子支持矩阵在 Atlas A2 产品上HOST 为默认展开模式通信算子在 Host 侧 CPU 展开Device 侧根据硬件型号自动选择相应的调度器HOST_TS 模式下Host 向 Device 的 Task Scheduler 下发任务由 Device 的 Task Scheduler 进行任务调度执行参见 HCCL_OP_EXPANSION_MODE 中 Atlas A2 的配置说明。两种模式在算子支持度上保持一致。以下为 HOST/HOST_TS 模式下各通信算子在单算子模式、图模式 Ascend IR、图捕获模式 aclgraph 三种网络运行模式下的完整支持情况算子网络运行模式单算子零拷贝确定性计算重执行节点内通信节点间通信Broadcast单算子模式×NA×√√Broadcast图模式Ascend IR×NA×√√Broadcast图捕获模式aclgraph×NA×√√AllGather单算子模式×NA×√√AllGather图模式Ascend IR×NA×√√AllGather图捕获模式aclgraph×NA×√√AllGatherV单算子模式×NA×√√AllGatherV图模式Ascend IR×NA×√√AllGatherV图捕获模式aclgraph×NA×√√Reduce单算子模式×√×√√Reduce图模式Ascend IR×√×√√Reduce图捕获模式aclgraph×√×√√AllReduce单算子模式×√×√√AllReduce图模式Ascend IR×√×√√AllReduce图捕获模式aclgraph×√×√√Scatter单算子模式×NA×√√Scatter图模式Ascend IR×NA×√√Scatter图捕获模式aclgraph×NA×√√ReduceScatter单算子模式×√×√√ReduceScatter图模式Ascend IR×√×√√ReduceScatter图捕获模式aclgraph×√×√√ReduceScatterV单算子模式×√×√√ReduceScatterV图模式Ascend IR×√×√√ReduceScatterV图捕获模式aclgraph×√×√√AlltoAll单算子模式×NA×√√AlltoAll图模式Ascend IR×NA×√√AlltoAll图捕获模式aclgraph×NA×√√AlltoAllV单算子模式×NA×√√AlltoAllV图模式Ascend IR×NA×√√AlltoAllV图捕获模式aclgraph×NA×√√AlltoAllVC单算子模式×NA×√√AlltoAllVC图模式Ascend IR×NA×√√AlltoAllVC图捕获模式aclgraph×NA×√√Send单算子模式×NA×√√Send图模式Ascend IR×NA×√√Send图捕获模式aclgraph×NA×√√Recv单算子模式×NA×√√Recv图模式Ascend IR×NA×√√Recv图捕获模式aclgraph×NA×√√BatchSendRecv单算子模式×NA×√√BatchSendRecv图模式Ascend IR×NA×√√BatchSendRecv图捕获模式aclgraph×NA×√√从矩阵可以归纳出 HOST/HOST_TS 模式的三个显著特征算子覆盖面完整集合通信Broadcast、AllGather/AllGatherV、Reduce、AllReduce、Scatter、ReduceScatter/ReduceScatterV、AlltoAll/AlltoAllV/AlltoAllVC与点对点通信Send、Recv、BatchSendRecv全部支持且三种网络运行模式单算子、Ascend IR 图模式、aclgraph 图捕获均可用节点内与节点间通信均覆盖。确定性计算仅对归约类算子生效只有 Reduce、AllReduce、ReduceScatter、ReduceScatterV 四个归约类算子在确定性计算列标记为√其余算子在NA列——这与确定性计算的定义归约类通信算子在相同的硬件和输入下多次执行将产生相同的输出严格对应也印证了 HCCL_DETERMINISTIC 中归约类通信算子包括 AllReduce、ReduceScatter、ReduceScatterV、Reduce的表述。零拷贝与重执行全不支持所有算子在 Atlas A2 产品上均不支持单算子零拷贝与重执行。若通过 HCCL_OP_RETRY_ENABLE 配置重执行在 Atlas A2 上不会生效该文档的产品支持情况中Atlas A2 明确标注不支持HCCL 将走无重执行流程。三、AIV 展开模式下的算子支持矩阵AIV 模式表示通信算子在 Vector Core向量核展开执行也在 Vector Core。该模式仅支持对称组网与推理特性不支持多通信域并行的场景多个通信域同时配置为 AIV 可能产生不可预期行为若同时开启了确定性计算则确定性计算优先级更高某些场景下 AIV 展开可能不生效。以下为 AIV 模式下各算子的支持情况算子网络运行模式单算子零拷贝确定性计算重执行节点内通信节点间通信Broadcast单算子模式×NA×√×Broadcast图模式Ascend IR×NA×√×Broadcast图捕获模式aclgraph×NA×√×AllGather单算子模式×NA×√×AllGather图模式Ascend IR×NA×√×AllGather图捕获模式aclgraph×NA×√×AllGatherV单算子模式×NA×√×AllGatherV图模式Ascend IR×NA×√×AllGatherV图捕获模式aclgraph×NA×√×AllReduce单算子模式×√×√×AllReduce图模式Ascend IR×√×√×AllReduce图捕获模式aclgraph×√×√×ReduceScatter单算子模式×√×√×ReduceScatter图模式Ascend IR×√×√×ReduceScatter图捕获模式aclgraph×√×√×ReduceScatterV单算子模式×√×√×ReduceScatterV图模式Ascend IR×√×√×ReduceScatterV图捕获模式aclgraph×√×√×AlltoAll单算子模式×NA×√×AlltoAll图模式Ascend IR×NA×√×AlltoAll图捕获模式aclgraph×NA×√×AlltoAllV单算子模式×NA×√×AlltoAllV图模式Ascend IR×NA×√×AlltoAllV图捕获模式aclgraph×NA×√×AlltoAllVC单算子模式×NA×√×AlltoAllVC图模式Ascend IR×NA×√×AlltoAllVC图捕获模式aclgraph×NA×√×AIV 模式与 HOST/HOST_TS 模式的差异集中在两点算子范围收窄AIV 模式支持 Broadcast、AllReduce、AlltoAll、AlltoAllV、AlltoAllVC、AllGather、ReduceScatter、AllGatherV、ReduceScatterV 算子其中 AllGatherV、ReduceScatterV 仅支持单算子模式不支持 Reduce、Scatter、Send、Recv、BatchSendRecv 算子——这与 HCCL_OP_EXPANSION_MODE 中 Atlas A2 的 AIV 配置说明完全一致。仅支持节点内通信所有 AIV 算子的节点间通信列均为×即 AIV 展开仅支持单机场景内的通信跨节点通信必须回退到 HOST/HOST_TS或 AI_CPU展开。AIV 模式的数据类型与控核约束配置 AIV 模式时还需注意以下与算子相关的约束依据 HCCL_OP_EXPANSION_MODE 中 Atlas A2 的说明Broadcast数据类型支持 int8、uint8、int16、uint16、int32、uint32、float16、float32、bfp16、int64、uint64、float64仅支持单机场景 8 卡以内的单算子模式AllReduce、ReduceScatter、ReduceScatterV数据类型支持 int8、int16、int32、float16、float32、bfp16reduce 操作类型仅支持 sum、max、min其中 AllReduce 与 ReduceScatter 的图模式运行方式仅支持单机场景AllGatherV 仅支持单算子模式AlltoAll、AlltoAllV、AlltoAllVC、AllGather数据类型支持 int8、uint8、int16、uint16、int32、uint32、float16、float32、bfp16、int64、uint64、float64AlltoAllV、AlltoAllVC 仅支持单机场景AlltoAll 与 AllGather 的图模式运行方式仅支持单机场景控核要求AllReduce、ReduceScatter、ReduceScatterV 建议最少分配 24 个向量核Broadcast、AlltoAll、AlltoAllV、AlltoAllVC、AllGather、AllGatherV 建议最少分配 16 个核。若业务编译分配的 Vector Core 核数无法满足算法编排要求HCCL 会报错并提示所需的最低 Vector Core 核数。Atlas 200T A2 Box16 异构子框不支持跨框通信场景。四、特性底层原理与源码级佐证4.1 展开模式解析HOST、HOST_TS、AIV 如何落地HCCL 对环境变量的解析集中在 src/common/alg_env_config.cc 的ParseOpExpansion函数中。从源码结构可以看到该函数依次识别CCU_MS、CCU_SCHED、AI_CPU/AICPU_TS、AIV、HOST、HOST_TS、AICPU_CacheDisable等取值并分别写入全局算法环境配置g_algEnvConfig的aicpuUnfold、aivMode、aivOnlyMode、ccuMSMode、ccuSchedMode等标志位HOST分支将aivMode与aicpuUnfold同时置为 false即通信算子回到 Host 侧 CPU 展开alg_env_config.ccHOST_TS分支在 Device 类型为 910BAtlas A2 所属系列时关闭 FTSS 使能标志由 Host 向 Device 的 Task Scheduler 下发任务alg_env_config.ccAIV分支置位aivMode并给出确定性计算与 AIV 展开不兼容的告警——Deterministic do not support aiv与文档中确定性计算的优先级更高某些场景下 AIV 展开可能不生效的约束相互印证alg_env_config.cc非法取值将返回HCCL_E_PARA并打印HCCL_OP_EXPANSION_MODE is set to ... incorrect错误日志alg_env_config.cc。4.2 确定性计算从环境变量到保序执行器HCCL_DETERMINISTIC 的取值解析同样位于 src/common/alg_env_config.cc约第 1047-1082 行支持false默认关闭、true开启确定性计算、strict开启严格确定性计算即保序功能三档非法取值会直接报错。解析结果被转换为DeterministicEnableLevel枚举DETERMINISTIC_DISABLE/DETERMINISTIC_ENABLE/DETERMINISTIC_STRICT供后续算法选择与执行器编排使用。针对 Atlas A2 产品HCCL_DETERMINISTICtrue时支持 AllReduce、ReduceScatter、ReduceScatterV、Reduce 四个算子strict保序模式下仅支持多机对称分布场景不支持卡数非对称分布支持的算子为 AllReduce、ReduceScatter、ReduceScatterV。在实现层面保序功能有独立的执行器InsV2AllReduceOrderPreservedExecutorins_v2_all_reduce_order_preserved_executor.h与InsV2ReduceScatterOrderPreservedExecutorins_v2_reduce_scatter_order_preserved_executor.cc它们分别面向保序 AllReduce 与保序 ReduceScatter并复用了ins_temp_reduce_scatter_order_preserved_group、ins_temp_reduce_scatter_order_preserved_level1等模板src/ops/reduce_scatter/algorithm/template/aicpu。保序执行的边界条件可参见 src/common/order_preserved_common.h其中定义了MIN_STRICT_RANK_NUM_ORDER_PRESERVED最小严格保序 rank 数、MAX_RANK_NUM_FOR_ORDER_PRESERVED最大支持 rank 数以及ORDER_PRESERVED_MAX_THREADS最大线程数总线程数取min(rankSize, ORDER_PRESERVED_MAX_THREADS)等常量这解释了保序功能对通信规模的约束如 rank size ≥ 3 的硬性要求。同时源码中对deterministicLevel DETERMINISTIC_STRICT有专门的条件判断说明严格保序模式对应文档中的strict取值与普通确定性计算在算法路径上是区分对待的。4.3 为什么 Atlas A2 不支持零拷贝与重执行重执行特性的产品支持情况在 HCCL_OP_RETRY_ENABLE 中有明确结论Atlas A2 训练系列产品/Atlas A2 推理系列产品不支持。该特性仅在 AI_CPU 展开模式下生效且要求通信算子输入内存在执行过程中不存在被污染的风险——零拷贝场景下 ReduceScatter 与 AllReduce 会修改用户输入内存因此这两类算子无法支持重执行这从侧面解释了 Atlas A2 上零拷贝 ×、重执行 ×的矩阵结果。五、实操如何配置与验证展开模式5.1 配置展开模式在 Atlas A2 产品上可通过环境变量HCCL_OP_EXPANSION_MODE配置通信算子的展开模式支持 HOST默认值、HOST_TS、AI_CPU、AIV 等取值若设置了不支持的值使用默认值# 使用默认的 HOST 展开模式也可显式声明 export HCCL_OP_EXPANSION_MODEHOST # 使用 HOST_TSHost 向 Device 的 Task Scheduler 下发任务 export HCCL_OP_EXPANSION_MODEHOST_TS # 使用 AIV通信算子在 Vector Core 展开并执行 export HCCL_OP_EXPANSION_MODEAIV配置为 AIV 时须同步满足第五节中的对称组网、推理特性、单通信域及控核等约束若同时设置了确定性计算AIV 展开可能不生效确定性计算优先级更高。5.2 配置确定性计算# 关闭确定性计算默认值 export HCCL_DETERMINISTICfalse # 开启确定性计算Atlas A2 上支持 AllReduce、ReduceScatter、ReduceScatterV、Reduce export HCCL_DETERMINISTICtrue # 开启严格确定性计算保序仅支持多机对称分布场景 export HCCL_DETERMINISTICstrict一般情况下无需开启归约算子的确定性计算当模型多次执行结果不同或进行精度调优时可通过该环境变量辅助调试调优但开启后算子执行时间会变慢、性能下降。strict保序模式较确定性计算性能损耗更大建议在推理场景下使用。注意若通过HcclCommConfig的hcclDeterministic参数在通信域粒度配置了确定性计算开关则以通信域粒度的配置优先环境变量次之hcclOpExpansionMode参数同理。5.3 验证路径与参考支持度清单总入口docs/zh/user_guide/comm_ops_support_list/README.mdAtlas A2 支持度矩阵本文依据comm_ops_support_a2.md展开模式详解HCCL_OP_EXPANSION_MODE确定性计算详解HCCL_DETERMINISTIC重执行特性Atlas A2 不支持与性能影响HCCL_OP_RETRY_ENABLE、comm_retry_perf_impact各通信算子接口与支持的数据类型docs/zh/api_ref/comm_op_interface通信算子示例代码可直接运行验证算子行为examples/02_collectives 与 examples/01_point_to_point六、小结Atlas A2 训练系列产品/Atlas A2 推理系列产品上的 HCCL 通信算子支持情况可概括为HOST/HOST_TS 展开下算子与网络运行模式全覆盖节点内/节点间均支持AIV 展开下算子范围收窄且仅支持节点内通信归约类算子Reduce、AllReduce、ReduceScatter、ReduceScatterV支持确定性计算可在调试调优时通过HCCL_DETERMINISTIC开启单算子零拷贝与重执行在 Atlas A2 上均不支持。实际选型时请以本文的支持矩阵为准结合 HCCL_OP_EXPANSION_MODE 与 HCCL_DETERMINISTIC 中的产品约束对称组网、推理特性、控核数量、通信规模等综合评估避免因特性不兼容导致通信算子执行异常或性能劣化。【免费下载链接】hccl集合通信库Huawei Collective Communication Library简称HCCL是基于昇腾AI处理器的高性能集合通信库为计算集群提供高性能、高可靠的通信方案项目地址: https://gitcode.com/cann/hccl创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表