| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
新增engram_fetch 核函数 && engram_fetch_wait算子 Co-authored-by: wuchenhao123<wuchenhao6@huawei.com> # message auto-generated for no-merge-commit merge: !7749 merge master_engram into master 新增engram_fetch 核函数 && engram_fetch_wait算子 Created-by: wuchenhao123 Commit-by: wuchenhao123 Merged-by: cann-robot Description: ## 描述 EngramFetch算子工程代码 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/3385 ## 测试 本地验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [X] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7749 | 2 个月前 | |
mc2:950命名残留清理(代码侧)——死函数删除/标识符/文件名/注释改arch口径 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !12455 merge fix_3 into master mc2:950命名残留清理(代码侧)——死函数删除/标识符/文件名/注释改arch口径 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5147 ## 摘要 mc2 目录 950 命名残留清理(前序 #12062/#12347/#12374 判断迁移完成后的收尾):删除 1 个死函数 + UT 测试名/注释 arch 口径统一。单笔提交,53 文件 +191/-198,零行为变化。 ## 改动明细 ### 代码与注释(2 文件) | 位置 | 改动 | |---|---| | matmul_reduce_scatter_v2/op_api/aclnn_matmul_reduce_scatter_v2.cpp | **删除死函数 IsAscend950()**——static inline 内部链接、全仓零调用点(该文件实际 A5 判断均直接写 GetCurNpuArch() == Ops::Base::DAV_3510),删除零影响 | | matmul_allto_all/op_graph/fusion_pass/matmul_all_to_all_transpose_a5_fusion_pass.cpp:423 | 注释 // 是否ascend950 → // 是否A5平台(NpuArch DAV_3510)——判断本已是 IsTargetPlatformNpuArch(NPUARCH_A5),仅注释口径不齐 | | weight_quant_batch_matmul_v2_adaptive_split_tiling.cpp:133 | 注释 950 → A5——同文件存在 SocVersion::ASCEND910_55(950 同 arch 衍生型号)型号级判断,注释需区分 A5 与 910_55 | ### UT 测试名统一(17 文件,~35 处) gtest 测试名/fixture 类为内部标识(全仓无 gtest_filter/脚本引用),函数体本已 arch 口径(SetPlatformNpuArch(DAV_3510)),纯命名残留: - Ascend950LaunchCcuCommMode → Dav3510LaunchCcuCommMode(×10,all_gather_matmul + matmul_all_reduce 系) - Ascend950GetWorkspaceSize/NullCommMode/LaunchAicpuCommMode/Int4Weight → Dav3510*(×8) - moe_distribute_dispatch_v2:fixture ...V2950Test → ...V2Dav3510Test + 4 个测试名(950→Dav3510) - engram_fetch / engram_fetch_grad / mega_moe:小写 ascend950_* → dav3510_*(×17) - 2 处注释同步(moe_distribute_dispatch arch22 UT 等) ### UT soc 输入口径统一(1 文件 18 处) - matmul_reduce_scatter/tests/ut/op_host/arch35/test_*_tiling.cpp:"Ascend910_95" → "3510" - 背景:Ascend910_95 为 950 内部名(ASCEND950 = ASCEND910_95 别名),但 tiling 执行器 socToArch 表无此键——**NpuArch 资源被注入空串**(带病通过:分发兜底生效);仓内 arch35 UT 主流写法为 "3510"(8 文件)或 "Ascend950"(10 文件),仅此文件用内部名 - 改后 NpuArch 正确注入 3510,与 #12347 口径一致;**已验证:23 tests PASSED** ### examples 注释统一(2 文件) - allto_all_matmul/examples/arch35、allto_allv_quant_grouped_mat_mul/examples:Ascend 950PR/Ascend 950DT → Atlas A5——对齐仓内样例标准写法(matmul_allto_all arch35 样例既有口径) ### UT mock 设置统一(18 文件 42 处) - op::SetPlatformSocVersion(op::SocVersion::ASCEND950) → op::SetPlatformNpuArch(Ops::Base::DAV_3510) - stub 侧两接口殊途同归(SetPlatformNpuArch 内部查表 DAV_3510→ASCEND950 再设 g_socVersion),**行为完全等价**;arch 写法为仓内主流(改后 100 处) - param.soc 数据驱动路径(CSV→枚举)不动 ### 公共 tiling 工具命名(1 文件 3 处) - mc2_tiling_utils.h:死常量 AIC_NUM_950 改名 AIC_NUM_A5(全仓零使用点,无消费影响);IsStandardCard4P/Is8P 注释 950 → A5(函数判断本已是 npuArch == Ops::Base::DAV_3510) - distribute_barrier_base.cpp:**内联 2 处单次使用的 const static bool is950**——arch 判断直接写入 if 条件,消除中间变量;顺带修正 static 缓存语义(原首次调用固定,现每次调用求值,多设备场景更准确)。moe_distribute_dispatch/combine_v2 的 4 处 is950 为多次使用,保留变量不动 ### distribute_barrier 内联单次 arch 判断(1 文件 2 处) - 2 处 const static bool is950 删除,arch 判断直接写入 if 条件(每函数仅 1 次使用);顺带修正 static 缓存语义(原首次调用固定,现每次求值,多设备场景更准确) - moe_distribute_dispatch/combine_v2 的 4 处 is950 为多次使用,保留变量不动 ### matmul_all_reduce 文件名/注释(7 文件) - arch35 目录 6 文件重命名:*_tiling_950.{h,cpp} → *_tiling_a5.{h,cpp}(matmul_all_reduce / quant / weight_quant 三对)——类名本已是 ...TilingA5,仅文件名落后;include guard 宏、\file 注释、自 include 同步;外部零引用、CMake GLOB 无影响 - matmul_all_reduce_proto.h:120:The Ascend 950 AI processor newly suported... → The Atlas A5 processor newly supports...(对齐 proto 内既有 Atlas A2 产品口径,修正 suported/suport 拼写) - quant_matmul_allto_all_base.cpp:245:注释 // 950数据类型校验 → // A5数据类型校验 - 后缀口径核验:arch35 文件名后缀 _a5(28 文件)为主流、_arch35(12 文件)为 moe_distribute 系风格,_950 已清零——本 PR 采用 _a5 与主流一致 - 补漏:2 个 .cpp 自身 include guard(..._TILING_950_CC_)→ ..._TILING_A5_CC_;2 条 OP_LOGI 日志 950 quant tiling → A5 quant tiling——该 arch35 目录 950 字样彻底清零 ### def.cpp 局部变量名 a5 化(9 文件 27 处 + 1 注释) - aicore_config_950 / aicoreConfig_950 → aicore_config_a5 / aicoreConfig_a5(内部局部变量,对齐 grouped_mat_mul_allto_allv_def.cpp 既有 aicore_config_a5 先例) - AddConfig("ascend950", ...) 字符串**不动**(客户面注册接口,待框架 arch 形式) - 1 处注释 // ascend950 AI处理器定义... → // A5 AI处理器定义... ### mega_moe 注释(2 文件) - mega_moe_tiling.cpp:456:Ascend 950PR/Ascend 950DT → A5(situglu beta 校验说明) - mega_moe_infershape.cpp:85:950 预量化... → A5 预量化... - moe_distribute_combine_setup_tiling_data.h:22/48:平台标记注释 // 910C 950 → // A3 A5、// 910C → // A3 - moe_distribute_combine_v2 / dispatch_v2 base:is950 标识符(含 SetCommArgs 形参,17 处)→ isA5 ## 语义等价性 - 死函数删除:static 内部链接 + 无调用点,编译/链接/运行零影响 - 注释修改:无代码变化 ## 范围说明 - **torch_extension 与 tools 目录整体不动**(客户面交付件 + 真实设备名匹配 + 调试工具参数兼容),本 PR 零触碰(已核验) - 客户面注册(def.cpp/CMake)、docs、DFX 异常回调等待框架接口,均维持既定口径 See merge request: cann/ops-transformer!12455 | 1 天前 | |
删除mc2 op_kernel扁平化__has_include守卫,3rd出包对齐op_kernel层级 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11224 merge fix_2 into master 删除mc2 op_kernel扁平化__has_include守卫,3rd出包对齐op_kernel层级 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联issue: https://gitcode.com/cann/ops-transformer/issues/4946 https://gitcode.com/cann/ops-transformer/issues/4304 ## 描述 承接 !10920(出包恢复 op_kernel 层级):CANN 包内算子/common/3rd 目录现与源码树结构完全一致,kernel 相对路径引用两边解析结果相同,扁平化双路径 __has_include 守卫成为死代码,本 PR 予以清理,并对齐 3rd 出包结构。 ### 改动内容 1. **删除 mc2 扁平化守卫(60 个文件,-360 行)** - 66 处双分支守卫(#if __has_include(扁平路径) ... #else ... #endif)→ 只保留 else 分支(源码树/新包统一路径) - 4 个 v3 算子 .cpp 的三分支守卫(#if/#elif/#else)→ 只保留 else 分支 - 保留非路径用途守卫:CANN 版本探测(version/asc_devkit_version.h 等 25 处)、API 探测(adv_api/hcomm/hcomm.h 等 8 处)、UT 环境(hccl_stub.h 2 处) 2. **cmake 3rd 出包补齐 op_kernel 层级** - custom_build.cmake 3rd install 目的地追加 /op_kernel,消除源码树(mc2/3rd/<lib>/op_kernel/)与包内(原 ascendc/3rd/<lib>/ 扁平)的 300 处相对引用路径不一致 - mc2/3rd 加入 OPS_TRANSFORMER_SHARED_KERNEL_INSTALL_DEPS 白名单(与 mc2/common 同等),消除 depend 安装循环产生的空目录 ascendc/3rd/op_kernel 3. **commAlg 注释 spelling 修复(关联 issue #4304,3 处 1 行)** - switchwing → switching:mc2/common/op_host/op_tiling/mc2_tiling_struct.h、mc2/common/op_kernel/mc2_tiling_struct.h、mc2/grouped_mat_mul_all_reduce/tests/ut/op_kernel/grouped_mat_mul_all_reduce_tiling_def.h - 纯注释改动,无代码逻辑变化 ### 效果 新增/存量算子 kernel include 统一按源码目录结构写相对路径即可,不再需要区分 static_true/static_false;matmul 系算子(引用 3rd)后续切换在线编译无路径障碍。 ## 测试 - ascend950 出包验证(10 个 static_true 算子 + matmul_reduce_scatter):编译出包成功 - 包产物解包检查:算子/common/3rd 均含 op_kernel 层级;跨算子、跨 common、跨 3rd 相对引用包内全部可解析;空目录消除;包内 #if/#endif 配平 ## 文档更新 无 See merge request: cann/ops-transformer!11224 | 14 天前 | |
新增engram_fetch 核函数 && engram_fetch_wait算子 Co-authored-by: wuchenhao123<wuchenhao6@huawei.com> # message auto-generated for no-merge-commit merge: !7749 merge master_engram into master 新增engram_fetch 核函数 && engram_fetch_wait算子 Created-by: wuchenhao123 Commit-by: wuchenhao123 Merged-by: cann-robot Description: ## 描述 EngramFetch算子工程代码 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/3385 ## 测试 本地验证 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [X] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7749 | 2 个月前 |