发布时间:2026/7/17 18:13:52
CANN/asc-devkit HCCL v1 TilingData接口 v1版本TilingData废弃【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit[!NOTE]说明 该结构体废弃并将在后续版本移除请不要使用该结构体。无需直接对该结构体中的成员进行设置统一使用HCCL Tiling提供的接口设置即可。 对于本节介绍的TilingData结构体当构建通信计算融合算子时通算融合算子的TilingData结构体中计算Tiling结构体部分必须在本节的通信Tiling结构体后追加。 对于v1和v2两个版本的TilingDataTiling结构体的第一个uint32_t字段用于区分两个版本即v1版本的preparePosition字段v2版本的version字段。若使用v2版本的Tiling结构体则必须设置version2若使用v1版本的Tiling结构体则设置preparePosition1。用户使用任意版本的TilingData时都必须严格按照对应版本的Tiling结构体将其作为算子TilingData结构体的组成部分。功能说明AI CPU启动下发通信任务前需获取固定的通信配置Mc2Msg。在算子实现中由Tiling组装通信配置项通过配置固定参数和固定参数顺序的Tiling Data将通信配置信息在调用AI CPU通信接口时传递给AI CPU。参数说明表1Mc2Msg参数说明| 参数名 | 描述 | | --- | --- | | preparePosition | 设置服务端组装任务的方式用户需要在Tiling中显式赋值uint32_t类型当前支持的取值如下1AI CPU与AI Core通过通信任务机制实现消息传递和任务下发由AI Core侧通过消息通知时设置为1即算子中使用HCCL时设置为1。 | | sendOff | 预留参数不可配置。 | | recvOff | 预留参数不可配置。 | | tailSendOff | 预留参数不可配置。 | | tailRecvOff | 预留参数不可配置。 | | sendCnt | 预留参数不可配置。 | | recvCnt | 预留参数不可配置。 | | tailSendCnt | 预留参数不可配置。 | | tailRecvCnt | 预留参数不可配置。 | | totalCnt | 预留参数不可配置。 | | turnNum | 预留参数不可配置。 | | tailNum | 预留参数不可配置。 | | stride | 预留参数不可配置。 | | workspaceOff | 预留参数不可配置。 | | notifyOff | 预留参数不可配置。 | | notifyBeginCnt | 预留参数不可配置。 | | notifyEndCnt | 预留参数不可配置。 | | useBufferType | 设置通信算法获取输入数据的位置uint8_t类型参数取值如下0默认值默认通信输入不放在windows中其中windows为其他卡可访问的共享缓冲区。1通信输入不放在windows中当前该参数取值1与取值0的功能一致。2通信输入放在windows中仅适用于AllReduce算法。 | | funID | 预留参数不可配置。 | | dataType | 预留参数不可配置。 | | groupNum | 预留参数不可配置。 | | reuseMode | 预留参数不可配置。 | | commType | 预留参数不可配置。 | | reduceOp | 预留参数不可配置。 | | commOrder | 预留参数不可配置。 | | waitPolicy | 预留参数不可配置。 | | rspPolicy | 预留参数不可配置。 | | exitPolicy | 预留参数不可配置。 | | commAlg | 设置具体通信算法用户需要在Tiling中显式赋值uint8_t类型当前支持的取值如下1FullMesh算法即NPU之间的全连接任意两个NPU之间可以直接进行数据收发。 | | taskType | 预留参数不可配置。 | | debugMode | 预留参数不可配置。 | | stepSize | 预留参数不可配置。 | | sendArgIndex | 预留参数不可配置。 | | recvArgIndex | 预留参数不可配置。 | | commOutArgIndex | 预留参数不可配置。 | | hasCommOut | 本卡的通信算法的计算结果是否输出到recvBuf目的数据buffer地址。仅AllGather算法与AlltoAll算法支持配置该参数。uint8_t类型参数取值如下0不输出本卡通信算法的计算结果。在无需输出通信结果时配置参数值为0此时不会拷贝本卡的通信结果数据可提升算子性能。例如在8卡场景下本卡只取其他卡的部分数据这时可配置本参数为0。1输出本卡通信算法的计算结果。 | | reserve | 保留字段。 | | reserve2 | 保留字段。 |约束说明算子的Tiling Data结构需要按顺序完整包含Mc2Msg参数。AI CPU需获取固定数据结构的通信配置算子注册Tiling Data时保持该结构的一致性。Atlas A3 训练系列产品/Atlas A3 推理系列产品暂不支持该版本TilingData。调用示例以自定义算子AllGatherMatmulCustom为例如下为该算子的算子原型gather_out为通信任务AllGather的输出。[ { op: AllGatherMatmulCustom, input_desc: [ { name: x1, param_type: required, format: [ ND, ND ], type: [ float16, bfloat16 ] }, { name: x2, param_type: required, format: [ ND, ND ], type: [ float16, bfloat16 ] }, { name: bias, param_type: optional, format: [ ND, ND ], type: [ float16, bfloat16 ] } ], output_desc:[ { name: y, param_type: required, format: [ ND, ND ], type: [ float16, bfloat16 ] }, { name: gather_out, param_type: required, format: [ ND, ND ], type: [ float16, bfloat16 ] } ], attr: [ { name: group, type: string, default_value:, param_type:required }, { name: rank_size, type: int, default_value:0, param_type:optional }, { name: is_gather_out, type: bool, default_value:true, param_type:optional } ] } ]算子的Tiling Data结构需要按顺序完整包含Mc2Msg参数如下为算子Tiling Data代码示例。// 声明Mc2Msg结构 BEGIN_TILING_DATA_DEF(Mc2Msg) TILING_DATA_FIELD_DEF(uint32_t, preparePosition); TILING_DATA_FIELD_DEF(uint32_t, sendOff); TILING_DATA_FIELD_DEF(uint32_t, recvOff); TILING_DATA_FIELD_DEF(uint32_t, tailSendOff); TILING_DATA_FIELD_DEF(uint32_t, tailRecvOff); TILING_DATA_FIELD_DEF(uint64_t, sendCnt); TILING_DATA_FIELD_DEF(uint32_t, recvCnt); TILING_DATA_FIELD_DEF(uint32_t, tailSendCnt); TILING_DATA_FIELD_DEF(uint32_t, tailRecvCnt); TILING_DATA_FIELD_DEF(uint32_t, totalCnt); TILING_DATA_FIELD_DEF(uint32_t, turnNum); TILING_DATA_FIELD_DEF(uint32_t, tailNum); TILING_DATA_FIELD_DEF(uint32_t, stride); TILING_DATA_FIELD_DEF(uint32_t, workspaceOff); TILING_DATA_FIELD_DEF(uint32_t, notifyOff); TILING_DATA_FIELD_DEF(uint16_t, notifyBeginCnt); TILING_DATA_FIELD_DEF(uint16_t, notifyEndCnt); TILING_DATA_FIELD_DEF(uint8_t, useBufferType); TILING_DATA_FIELD_DEF(uint8_t, funID); TILING_DATA_FIELD_DEF(uint8_t, dataType); TILING_DATA_FIELD_DEF(uint8_t, groupNum); TILING_DATA_FIELD_DEF(uint8_t, reuseMode); TILING_DATA_FIELD_DEF(uint8_t, commType); TILING_DATA_FIELD_DEF(uint8_t, reduceOp); TILING_DATA_FIELD_DEF(uint8_t, commOrder); TILING_DATA_FIELD_DEF(uint8_t, waitPolicy); TILING_DATA_FIELD_DEF(uint8_t, rspPolicy); TILING_DATA_FIELD_DEF(uint8_t, exitPolicy); TILING_DATA_FIELD_DEF(uint8_t, commAlg); TILING_DATA_FIELD_DEF(uint8_t, taskType); TILING_DATA_FIELD_DEF(uint8_t, debugMode); TILING_DATA_FIELD_DEF(uint8_t, stepSize); TILING_DATA_FIELD_DEF(uint8_t, sendArgIndex); TILING_DATA_FIELD_DEF(uint8_t, recvArgIndex); TILING_DATA_FIELD_DEF(uint8_t, commOutArgIndex); TILING_DATA_FIELD_DEF(uint8_t, hasCommOut); TILING_DATA_FIELD_DEF(uint8_t, reserve); TILING_DATA_FIELD_DEF(uint32_t, reserve2); END_TILING_DATA_DEF; REGISTER_TILING_DATA_CLASS(Mc2MsgOp, Mc2Msg) BEGIN_TILING_DATA_DEF(AllGatherMatmulCustomTilingData) TILING_DATA_FIELD_DEF_STRUCT(Mc2Msg, msg); END_TILING_DATA_DEF;// 配置Mc2Msg AllGatherMatmulCustomTilingData tiling; tiling.msg.set_preparePosition(1); tiling.msg.set_commAlg(1); tiling.msg.set_useBufferType(1); tiling.msg.set_hasCommOut(1);【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/7/17 18:08:51

Deemix WebUI详细教程:打造云端音乐下载管理平台

Deemix WebUI详细教程:打造云端音乐下载管理平台 【免费下载链接】deemix 项目地址: https://gitcode.com/gh_mirrors/de/deemix 想要打造一个属于自己的云端音乐下载管理平台吗?Deemix WebUI就是你的终极解决方案!🚀 这款…

2026/7/17 18:08:51

Linux包管理神器yum:从基础使用到高级技巧

1. yum命令概述 在Linux系统管理中,yum(Yellowdog Updater Modified)是最常用的包管理工具之一,特别是在基于RPM的发行版如CentOS、RHEL和Fedora中。它简化了软件包的安装、更新和删除过程,自动处理依赖关系&#xff0…

2026/7/17 19:24:01

Django开发基础教程(第二部分)

这部分的内容整理了6周的工作日,太难了,目前总结了70%,内容已经在http://www.mdrsec.com做了升级更新,欢迎浏览和交流。- Django settings.py设置选项- Django 项目配置项、开发环境与生产环境的配置- Django 多种类型数据库配置方…

2026/7/17 19:24:01

RabbitMQ-第五章:RabbitMQ的面试题

目录 1.什么是RabbitMQ? 2.RabbitMQ可以做什么? 3.在RabbitMQ中怎么保证消息的顺序问题。就比如我有A,B,C三个消息。我必须要按照A,B,C进行消费? 4.RabbitMQ怎么保证不会重复消费&#xff1f…

2026/7/17 19:24:01

每日安全情报报告 · 2026-07-17

每日安全情报报告 2026-07-17 报告日期:2026年7月17日 数据窗口:2026-07-15 ~ 2026-07-17 风险评级说明:🔴 严重 | 🟠 高危 | 🟡 中危 | 🟢 低危 一、📊 本期概览 指标数值高危/严…

2026/7/17 19:24:01

hexo-client插件开发指南:扩展你的博客管理能力

hexo-client插件开发指南:扩展你的博客管理能力 【免费下载链接】hexo-client hexo-client: A cross-platform hexo client, build on electron. 项目地址: https://gitcode.com/gh_mirrors/he/hexo-client 想要为你的Hexo博客管理工具添加自定义功能吗&…

2026/7/17 19:24:01

每日极客日报 · 2026年07月17日

每日极客日报 2026年07月17日 今日精选 21 条 IT 科技热点,覆盖 AI 大模型、开源、云原生、工程实践、业界动态等领域。 🔥 今日头条 Kimi K3 发布:全球首个 2.8 万亿参数开源模型,性能逼近顶尖闭源模型 北京时间 7 月 17 日凌…

2026/7/17 19:19:01

【信息科学与工程学】计算机科学与自动化——第十八篇 存储系统设计——6 存储算法(2)分布式对象存储相关算法之存储的数据分布

类别 算法/结构名称 设计原理 算法描述/数学表达式 应用场景 依赖条件 设计思想 理论依据 算法特性 时间复杂度 空间复杂度 适用类型 优点 缺点 数据分布 一致性哈希 (Consistent Hashing) 将数据和节点映射到同一个哈希环上,通过环上的位置决定数据存储节点 …

2026/7/17 5:59:06

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/17 1:21:45

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/17 7:39:19

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/17 0:04:23

BiSheng JDK-build性能调优:构建速度提升30%的优化策略

BiSheng JDK-build性能调优:构建速度提升30%的优化策略 【免费下载链接】bishengjdk-build BiSheng JDK build and test scripts - common across all releases/versions 项目地址: https://gitcode.com/openeuler/bishengjdk-build 前往项目官网免费下载&am…

2026/7/17 14:59:44

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…