CANN/AscendC HCCL通信接口

发布时间:2026/7/17 9:35:06
CANN/AscendC HCCL通信接口 SetReduceType【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit功能说明设置Reduce操作类型仅对有归约操作的通信任务生效。函数原型uint32_t SetReduceType(uint32_t reduceType, uint8_t dstDataType 0, uint8_t srcDataType 0)参数说明表1参数说明参数名输入/输出描述reduceType输入归约操作类型仅对有归约操作的通信任务生效。uint32_t类型取值详见表2参数说明。dstDataType输入通信任务中输出数据的数据类型。uint8_t类型该参数的取值范围请参考表1。Ascend 950PR/Ascend 950DTCCU作为服务端时不同通信任务支持的输出数据类型不同具体为对于AllReduce、AllGather、AllToAll、AllToAllV、AllToAllVWrite通信任务输出的数据类型必须与输入的数据类型一致。各通信任务支持的输入数据类型请参考srcDataType。对于ReduceScatter通信任务当输入的数据类型为int16_t、int32_t、half、float、bfloat16_t时输出的数据类型必须与其一致当输入的数据类型为int8_t、hifloat8_t、fp8_e5m2_t、fp8_e4m3fn_t时输出的数据类型必须为half、bfloat16_t、float三者之一。srcDataType输入通信任务中输入数据的数据类型。uint8_t类型该参数的取值范围请参考表1。Ascend 950PR/Ascend 950DTCCU作为服务端时不同通信任务支持的输入数据类型如下AllReduce通信任务支持的输入类型为int16_t、half、bfloat16_t、int32_t、float。AllGather、AllToAll、AllToAllV、AllToAllVWrite通信任务支持的输入类型为int8_t、uint8_t、hifloat8_t、fp8_e5m2_t、fp8_e4m3fn_t、int16_t、uint16_t、half、bfloat16_t、int32_t、uint32_t、float、int64_t、double。ReduceScatter通信任务支持的输入类型为int8_t、hifloat8_t、fp8_e5m2_t、fp8_e4m3fn_t、int16_t、half、bfloat16_t、int32_t、float。返回值说明0表示设置成功。非0表示设置失败。约束说明对于Ascend 950PR/Ascend 950DTAI CPU作为服务端时该接口暂不支持使用。对于Atlas A3 训练系列产品/Atlas A3 推理系列产品该接口暂不支持使用。对于Atlas A2 训练系列产品/Atlas A2 推理系列产品该接口暂不支持使用。调用示例本接口的调用示例请见调用示例。【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考