cann/asc-devkit v2版本TilingData(废弃) 📅 发布时间:2026/7/17 9:27:58 👁️ 浏览次数: v2版本TilingData废弃【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit[!NOTE]说明 该结构体废弃并将在后续版本移除请不要使用该结构体。无需直接对该结构体中的成员进行设置统一使用HCCL Tiling提供的接口设置即可。功能说明AI CPU启动下发通信任务前需获取固定的通信配置如表1所示。在算子实现中由Tiling组装通信配置项通过配置固定参数和固定参数顺序的Tiling Data将通信配置信息在调用AI CPU通信接口时传递给AI CPU。参数说明表1v2版本HCCL TilingData参数说明| 参数名 | 描述 | | --- | --- | | version | uint32_t类型。用于区分TilingData版本。v2版本的TilingData结构体中version字段仅支持取值为2。注意该字段在v2版本TilingData中的位置同v1版本的preparePosition字段。当该字段取值为2时为v2版本的结构体当取值为1时为v1版本的结构体请使用Mc2Msg结构体。 | | mc2HcommCnt | uint32_t类型。表示各通信域中通信任务总个数。当前该参数支持的最大取值为3。 | | serverCfg | Mc2ServerCfg类型。集合通信server端通用参数配置。 | | hcom | Mc2HcommCfg类型。各通信域中每个通信任务的参数配置。在通信算子TilingData的定义中根据各通信域中通信任务总个数共需要定义mc2HcommCnt个Mc2HcommCfg结构体。例如mc2HcommCnt2则需要依次定义2个Mc2HcommCfg类型的参数自定义参数名比如hcom1、hcom2。 |表2Mc2ServerCfg结构体说明参数名描述version预留字段不需要配置。debugMode预留字段不需要配置。sendArgIndex预留字段不需要配置。recvArgIndex预留字段不需要配置。commOutArgIndex预留字段不需要配置。reserved预留字段不需要配置。表3Mc2HcommCfg结构体说明参数名描述skipLocalRankCopy预留字段不需要配置。skipBufferWindowCopy预留字段不需要配置。stepSize预留字段不需要配置。reserved预留字段不需要配置。groupName当前通信任务所在的通信域。char*类型支持最大长度128。algConfig通信算法配置。char*类型支持最大长度128。当前支持的取值为AllGatherlevel0:doubleringAllGather通信任务。ReduceScatterlevel0:doubleringReduceScatter通信任务。AlltoAlllevel0:fullmesh;level1:pairwiseAlltoAllV通信任务。opType表示通信任务类型。uint32_t类型取值详见HcclCMDType参数说明。reduceType归约操作类型仅对有归约操作的通信任务生效。uint32_t类型取值详见HcclReduceOp参数说明。约束说明如果需要使用v2版本的Tiling结构体必须设置Tiling结构体的第一个参数version2。算子的Tiling Data结构需要完整包含v2版本HCCL TilingData参数其中各参数需要严格按照对应参数的结构来定义。调用示例如下为自定义算子AlltoallvDoubleCommCustom的算子原型。该算子有两对输入输出其中x1、y1是ep通信域的AlltoAllV任务的输入输出x2、y2是tp通信域的AlltoAllV任务的输入输出。namespace ops { class AlltoallvDoubleCommCustom : public OpDef { public: explicit AlltoallvDoubleCommCustom(const char* name) : OpDef(name) { this-Input(x1) .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_BF16}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}) .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND}); this-Input(x2) .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_BF16}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}) .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND}) .IgnoreContiguous(); this-Output(y1) .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_BF16}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}) .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND}); this-Output(y2) .ParamType(REQUIRED) .DataType({ge::DT_FLOAT16, ge::DT_BF16}) .Format({ge::FORMAT_ND, ge::FORMAT_ND}) .UnknownShapeFormat({ge::FORMAT_ND, ge::FORMAT_ND}); this-Attr(group_ep).AttrType(REQUIRED).String(); this-Attr(group_tp).AttrType(REQUIRED).String(); this-Attr(ep_world_size).AttrType(REQUIRED).Int(); this-Attr(tp_world_size).AttrType(REQUIRED).Int(); this-AICore().SetTiling(optiling::AlltoAllVDoubleCommCustomTilingFunc); this-AICore().AddConfig(ascendxxx); // ascendxxx请修改为对应的AI处理器型号。 this-MC2().HcclGroup({group_ep, group_tp}); } }; OP_ADD(AlltoallvDoubleCommCustom); } // namespace ops如下为该自定义算子Tiling Data声明和实现。该自定义算子Tiling Data的声明中首先定义version字段设置为2表明为v2版本的通信算子Tiling结构体。其次定义mc2HcommCnt字段本例AlltoallvDoubleCommCustom算子的kernel实现中共2个AlltoAllV通信任务该参数取值为2。然后定义server通用参数配置Mc2ServerCfg。最后定义2个Mc2HcommCfg结构体表示各通信域中的每个通信任务参数配置。// HCCL TilingData声明 BEGIN_TILING_DATA_DEF(AlltoallvDoubleCommCustomTilingData) TILING_DATA_FIELD_DEF(uint32_t, version); // HCCL tiling结构体的版本设为2 // 各通信域中的通信算子总个数当前最多支持3个。AlltoallvDoubleCommCustom算子kernel实现中每个通信域中均用了1个AlltoAllV因此设为2 TILING_DATA_FIELD_DEF(uint32_t, mc2HcommCnt); TILING_DATA_FIELD_DEF_STRUCT(Mc2ServerCfg, serverCfg); // server通用参数配置融合算子级 // 各通信域中的每个通信任务参数配置算子级共有mc2HcommCnt个Mc2HcommCfg TILING_DATA_FIELD_DEF_STRUCT(Mc2HcommCfg, hcom1); TILING_DATA_FIELD_DEF_STRUCT(Mc2HcommCfg, hcom2); END_TILING_DATA_DEF; REGISTER_TILING_DATA_CLASS(AlltoallvDoubleCommCustom, AlltoallvDoubleCommCustomTilingData);// HCCL TilingData配置片段 static ge::graphStatus AlltoAllVDoubleCommCustomTilingFunc(gert::TilingContext* context) { char* group1 const_castchar*(context-GetAttrs()-GetAttrPointerchar(0)); char* group2 const_castchar*(context-GetAttrs()-GetAttrPointerchar(1)); AlltoallvDoubleCommCustomTilingData tiling; tiling.set_version(2); tiling.set_mc2HcommCnt(2); tiling.serverCfg.set_debugMode(0); tiling.hcom1.set_opType(8); tiling.hcom1.set_reduceType(4); tiling.hcom1.set_groupName(group1); tiling.hcom1.set_algConfig(AlltoAlllevel0:fullmesh;level1:pairwise); tiling.hcom2.set_opType(8); tiling.hcom2.set_reduceType(4); tiling.hcom2.set_groupName(group2); tiling.hcom2.set_algConfig(AlltoAlllevel0:fullmesh;level1:pairwise); tiling.SaveToBuffer(context-GetRawTilingData()-GetData(), context-GetRawTilingData()-GetCapacity()); context-GetRawTilingData()-SetDataSize(tiling.GetDataSize()); return ge::GRAPH_SUCCESS; }【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言原生支持C和C标准规范主要由类库和语言扩展层构成提供多层级API满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
如何使用 BillaBear 的税务管理系统应对全球税务挑战 如何使用 BillaBear 的税务管理系统应对全球税务挑战 【免费下载链接】billabear Subscription Management and Billing System 项目地址: https://gitcode.com/gh_mirrors/bi/billabear BillaBear 作为一款专业的订阅管理与计费系统(Subscription Managemen… 2026/7/17 9:23:56
如何配置Shipper实现安全的蓝绿部署:7步避免生产环境灾难 如何配置Shipper实现安全的蓝绿部署:7步避免生产环境灾难 【免费下载链接】shipper Kubernetes native multi-cluster canary or blue-green rollouts using Helm 项目地址: https://gitcode.com/gh_mirrors/sh/shipper Shipper是一款基于Kubernetes的多集群… 2026/7/17 9:23:56
WSL2环境配置与开发实战指南 1. WSL2环境配置完全指南 作为一名长期在Windows和Linux双系统间切换的开发者,WSL2的出现彻底改变了我的工作流。这个微软官方支持的Linux子系统,不仅解决了原生Windows开发环境的各种兼容性问题,还能让你在保持Windows易用性的同时ÿ… 2026/7/17 9:21:55
AI芯片核心技术解析与选型实战指南 1. AI芯片的本质与核心价值 AI芯片本质上是一种专用集成电路(ASIC),专为人工智能计算任务优化设计。与传统CPU相比,它的核心优势在于能够并行执行大量矩阵乘法和加法运算——这正是深度学习模型训练和推理中最基础、最频繁的操作。… 2026/7/17 10:46:44
三步免费下载海量动态壁纸:Wallpaper Engine创意工坊下载器完全指南 三步免费下载海量动态壁纸:Wallpaper Engine创意工坊下载器完全指南 【免费下载链接】Wallpaper_Engine 一个便捷的创意工坊下载器 项目地址: https://gitcode.com/gh_mirrors/wa/Wallpaper_Engine Wallpaper Engine创意工坊下载器是一款基于Flutter开发的免… 2026/7/17 10:44:42
M1 Mac运行Windows 11的3种方案与优化指南 1. 为什么要在M1 Mac上运行Windows 11? 当苹果在2020年推出搭载自研M1芯片的Mac设备时,整个科技圈都在讨论一个关键问题:我们还能像以前那样通过Boot Camp安装Windows吗?答案是否定的。M1芯片采用ARM架构,与传统x86架构… 2026/7/17 10:44:42
鸣潮游戏模组终极指南:3步解锁无限游戏潜能 鸣潮游戏模组终极指南:3步解锁无限游戏潜能 【免费下载链接】wuwa-mod Wuthering Waves pak mods 项目地址: https://gitcode.com/GitHub_Trending/wu/wuwa-mod 还在为鸣潮游戏中的各种限制而烦恼吗?WuWa-Mod为你提供了一套完整的游戏增强解决方案… 2026/7/17 10:38:39
失效物理分析在可靠性设计中的核心应用与方法 1. 失效物理与可靠性设计的本质关联 在工程实践中,我们常遇到一个矛盾现象:两个采用相同设计规范、相同零部件的产品,在实际使用中却表现出截然不同的故障率。这背后的关键差异,往往源于设计阶段是否系统性地应用了失效物理&#… 2026/7/17 10:36:38
[具身智能-566]:RDK OS 3.x(RDK X5)全版本功能对比表 RDK OS 3.x(RDK X5)全版本功能对比表适配硬件:RDK X5;底层系统基准:Ubuntu 22.04;重点关联你遇到的 hobot_dnn / numpy / MIPI相机 问题。表格RDK OS 版本发布日期核心定位关键特性 & 变更重点注意事项… 2026/7/17 10:36:38
【WPS AI表格避坑白皮书】:实测发现87%用户正在误用AI函数——这5个致命错误导致结果偏差超42% 更多请点击: https://intelliparadigm.com 第一章:WPS AI表格的核心能力与适用边界 WPS AI表格将大语言模型能力深度集成于电子表格环境中,实现从自然语言指令到结构化数据操作的端到端转化。其核心并非替代传统公式或宏编程,而是… 2026/7/17 0:00:08
Cursor终端插件生态避坑指南:23个实测低效插件黑名单,附3个自研轻量替代方案 更多请点击: https://intelliparadigm.com 第一章:Cursor终端插件生态避坑指南概览 Cursor 作为基于 VS Code 内核构建的 AI 原生编辑器,其终端插件生态虽活跃,但存在兼容性断层、权限策略突变与调试链路断裂等典型风险。开发者常… 2026/7/17 0:00:08
ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 更多请点击: https://codechina.net 第一章:ChatGPT写作提示词效率革命:单条提示词响应质量提升3.8倍的关键变量(附可复用提示词矩阵表) 提示词工程已从经验试错迈入变量驱动的科学阶段。实证研究表明,影响… 2026/7/17 0:00:08
Git reset 与 revert 深度对比:5个关键差异与 3 种典型应用场景 Git Reset 与 Revert 深度对比:5个关键差异与3种典型应用场景在团队协作开发中,代码版本管理如同行走钢丝——一步失误可能导致整个项目陷入混乱。作为Git进阶用户,你是否曾在深夜面对错误的提交束手无策?是否在强制推送后收到同事… 2026/7/17 0:28:39
GitHub 学生包申请避坑:5个常见失败原因与开发者工具调试方案 GitHub 学生包申请技术排障指南:5个高频失败场景与开发者工具实战方案第一次尝试申请GitHub学生包时,我盯着屏幕上那个不断转圈的加载动画整整15分钟,最终只等来了一行冰冷的错误提示。这可能是许多开发者共同的经历——明明按照教程操作&… 2026/7/17 6:02:24
冒烟测试用例设计规范:5%-10%覆盖率下的3类核心场景与执行标准 冒烟测试用例设计的黄金法则:5%-10%覆盖率下的精准筛选策略在快节奏的敏捷开发环境中,冒烟测试作为质量保障的第一道防线,其重要性不言而喻。当测试资源有限而时间紧迫时,如何从海量测试用例中精准筛选出那关键的5%-10%࿰… 2026/7/16 12:08:13