当前位置: 首页 > news >正文

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 950DT,CCU作为服务端时,不同通信任务支持的输出数据类型不同,具体为:
对于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 950DT,CCU作为服务端时,不同通信任务支持的输入数据类型如下:
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 950DT,AI CPU作为服务端时,该接口暂不支持使用。

对于Atlas A3 训练系列产品/Atlas A3 推理系列产品,该接口暂不支持使用。

对于Atlas A2 训练系列产品/Atlas A2 推理系列产品,该接口暂不支持使用。

调用示例

本接口的调用示例请见调用示例。

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1205760/

相关文章:

  • 2026重庆涪陵返乡护送长途救护车出租,跨省重症转院安全护送 - 速递信息
  • JUnit 5核心功能实战:从生命周期到参数化测试的进阶指南
  • Playwright浏览器高级配置实战:从反检测到性能优化
  • LangChain 实战指南:用项目结果反推能力
  • Agent沙箱数据库三位一体架构解析
  • 2026年家装公司哪家在当地口碑好? - 装企自媒体训练营辉哥
  • OpenAI Codex实战指南:AI编程助手核心能力与开发技巧
  • UMI数据语义升级:让具身VLA模型真正理解动作意图
  • AWS企业级Claude部署的五条路径深度对比与选型指南
  • 2026天津黄金回收内行交易指南 看懂规则不被宰 - 奢侈品回收机构参考
  • 鸿蒙应用开发实战【95】— 实战应用状态批量管理操作
  • Lazygit终端Git工具:行级暂存与交互式变基实战指南
  • Ubuntu 26.04 LTS 安装后优化与开发环境配置指南
  • Linux包管理利器Yum:从基础命令到企业级实践
  • Hy-Embodied-VLM-1.0社区生态:从开源模型到商业应用的发展路线
  • SpringBoot配置加密实战:Jasypt原理、性能优化与高级应用
  • async-stream实战教程:构建高效TCP服务器与WebSocket流
  • 2026年7月有实力的平皮带源头厂家哪家强,输送带/同步带/平皮带/工业皮带/PU同步带,平皮带供应商哪家靠谱 - 品牌推荐师
  • 2026无锡制造业AI搜索优化服务商综合排行参考 - 奔跑123
  • 婚约财产纠纷律所:彩礼返还比例的地方司法裁量差异解读 - 品牌深度评测
  • 8款AI写小说工具实测,新手轻松上手【7月最新测评】
  • 易语言开发实战:从计算器到模块化工具的技术边界解析
  • 鸿蒙应用开发实战【96】— HarmonyOS权限申请实战
  • WMPageController项目贡献指南:如何参与开源社区与提交PR
  • 为什么 DPDK VirtIO 只能跑到 40Gbps?—— 一次 KVM 虚拟交换机性能瓶颈定位全过程(上)
  • OpenClaw本地私有AI助手部署指南:从安全架构到多平台实践
  • AI工具调用强制实现:从提示工程到模型微调的四种技术路径
  • 沈阳搬家公司哪家好?第三方实测测评|沈阳搬家避坑与企业横向对比 - 资讯在线
  • chaosArsenal-OS开发者指南:如何扩展自定义故障注入模块
  • 豆瓣电影信息API零基础接入:从请求到返回全解析