| master英文合入 Co-authored-by: caiwenwen<caiwenwen6@h-partners.com> # message auto-generated for no-merge-commit merge: !14969 merge master into master master英文合入 Created-by: caiwenwen Commit-by: caiwenwen Merged-by: cann-robot Description: ## 描述 商发的英文文档合入 ## 关联的Issue 关联Issue [#6488](https://gitcode.com/cann/ops-transformer/issues/6488) <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14969 | 16 days ago |
| 修改文档和test用例 Co-authored-by: 蔡嘉琳<caijialin1@h-partners.com> # message auto-generated for no-merge-commit merge: !14456 merge master into master 修改文档和test用例 Created-by: c30042488 Commit-by: 蔡嘉琳 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14456 | 23 days ago |
| 【fix】修复 Dispatch / Barrier 参数校验 Co-authored-by: SimpleBrightMan<tangpanrui1@huawei.com> # message auto-generated for no-merge-commit merge: !14593 merge fix/moe-dispatch-validation-6531-6532-6533-6566 into master 【fix】修复 Dispatch / Barrier 参数校验 Created-by: SimpleBright_Man Commit-by: SimpleBrightMan Merged-by: cann-robot Description: ## 描述 修复四个方面的错误:**通信域大小、输入形状、通信算法、通信域名称**。 1. 0a7c5ded6 — #6531:声明的**EP **必须与**真实通信域**一致 在 A2 Dispatch V1–V4 的 tiling 路径中,根据 groupEp 查询实际 HCCL 通信域的 rank 数,要求: - 查询成功。 - epWorldSize == 实际 rank 数。 2. 40e99abf2 — #6532:x 和 expertIds 的 batch 必须一致 在 V2–V4 共用的 ACLNN 入口,沿用原有空指针检查后,新增: - x 和 expertIds 都必须是二维张量。 - 两者首维必须相等,即 x.shape[0] == expertIds.shape[0]。 同时在 InnerV2、InnerV3 的 InferShape 中补上 batch 一致性检查。例如 x=[8,512] 时,expertIds=[7,1] 或 [9,1] 都拒绝,[8,1] 满足这项要求。 x 每行是一个 token,expertIds 对应提供该 token 的专家路由,两者必须逐行对应。先检查维数,也能保证后续读取首维安全。实机还发现:调用方提供输出形状时,可能绕过 InferShape,所以必须在公共 API 入口也校验,不能只依赖形状推导。 3. 26c77cbad — #6533:显式**通信算法必须合法** A2 路径新增或收紧: - 显式 commAlg 只接受 fullmesh、hierarchy。 - 使用 hierarchy 时,epWorldSize 只能为** 16、32、64**。 - nullptr、空串继续表示使用默认算法,保留原有默认选择行为。 现在小通信域传入 bad、fullmeshh 或显式指定不适用的 hierarchy,现在都会拒绝。原来的小通信域分支会提前采用 fullmesh,导致显式传入的错误参数被忽略。修改后,调用方明确指定的算法必须得到校验;hierarchy 的范围也与当前 A2 实现支持的配置保持一致。 4. 0bf9085d7 — #6566:Barrier **非法通信域名称必须返回错误** 这里主要修正已有校验分支的返回值: - group == nullptr:保留空指针错误 161001。 - 空字符串、长度达到或超过 128:返回参数错误 161002。 - 长度 1–127:通过名称长度检查。 原非法长度分支返回了 false,而 false 转成状态码就是 0,恰好表示成功,因此检查发现了问题却没有正确拦截。改成明确的错误码后,非法输入才能立即返回。另外,127 字符属于合法长度;通过长度检查也不代表该名称一定对应一个已初始化的通信域。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6531 校验缺失属实。A2 Dispatch V1–V4 增加 epWorldSize 与实际 EP 通信域 rank 数的一致性检查,不一致时在第一阶段告警。 https://gitcode.com/cann/ops-transformer/issues/6532 batch 一致性校验缺失属实。补齐 V2–V4 公共 ACLNN 入口的维数、batch 校验及 InnerV2/InnerV3 的 InferShape 检查,避免已提供输出形状时绕过校验。 https://gitcode.com/cann/ops-transformer/issues/6533 A2 小通信域绕过算法校验的问题属实。检查显式 commAlg 取值,并限制 hierarchy 的 EP 大小为 16/32/64;保留默认算法行为。 https://gitcode.com/cann/ops-transformer/issues/6566 非法 group 名称分支误返回成功,问题属实。改为 ACLNN_ERR_PARAM_INVALID,补充边界测试及文档;合法长度是 1–127,超长边界为 128。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 验证:910B3 / CANN 9.2.0,相关算子 Host UT 251/251、API UT 57/57、双卡回归 27/27、真实 Barrier API 前置检查 8/8 通过。核对加载本次构建库,正常用例检查 FP16 输出和 token 路由;EP/算法非法返回 561002,batch 不一致返回 161002。真实 8-rank、声明 EP=16 时,V1–V4 均在全部 8 个 rank 上正确拒绝并正常退出。八卡 V1 的合法输出检查通过,但安装版和修复库均在 Reset/TSD 关闭阶段超时;安装版改用每卡独立进程也复现,因此完整八卡端到端测试未通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 涉及,更新了文档里面的校验说法 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14593 | 18 days ago |
| fix(pre-commit): 全仓代码规范整改——mc2 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11457 merge ci into master fix(pre-commit): 全仓代码规范整改——mc2 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5939(全仓代码规范整改总跟踪) ## 描述 全仓代码规范整改系列——mc2 目录。基于仓库 pre-commit 门禁对存量代码做一次性规范收敛: - clang-format 按 .clang-format 统一格式(列宽 120、指针左对齐 T* p、引用对齐 T& r 等) - 行尾空白、文件末尾换行修复 - 规模:1380 个文件,+22820/-22840 行,纯格式化改动语义等价,无逻辑变更 > 注:本 PR 早期版本曾包含 mc2 算子 kernel cpp 入口注释行补充(仓镜像替换链路验证),该内容已不在当前分支,当前为纯格式化整改。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5939(全仓整改总跟踪) ## 测试 - pre-commit 全部钩子本地通过 - CI 流水线(compile/UT)验证 See merge request: cann/ops-transformer!11457 | 1 month ago |
| Ascend960 moe_update_expert&barrier&combine Co-authored-by: yezhuoxi<yezhuoxi@huawei.com> # message auto-generated for no-merge-commit merge: !13299 merge master into master Ascend960 moe_update_expert&barrier&combine Created-by: yezhuoxi Commit-by: yezhuoxi Merged-by: cann-robot Description: ## 描述 Ascend960 moe_update_expert&barrier&combine ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6345 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!13299 | 26 days ago |
| fix(pre-commit): 全仓代码规范整改——mc2 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11457 merge ci into master fix(pre-commit): 全仓代码规范整改——mc2 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: 关联Issue https://gitcode.com/cann/ops-transformer/issues/5939(全仓代码规范整改总跟踪) ## 描述 全仓代码规范整改系列——mc2 目录。基于仓库 pre-commit 门禁对存量代码做一次性规范收敛: - clang-format 按 .clang-format 统一格式(列宽 120、指针左对齐 T* p、引用对齐 T& r 等) - 行尾空白、文件末尾换行修复 - 规模:1380 个文件,+22820/-22840 行,纯格式化改动语义等价,无逻辑变更 > 注:本 PR 早期版本曾包含 mc2 算子 kernel cpp 入口注释行补充(仓镜像替换链路验证),该内容已不在当前分支,当前为纯格式化整改。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5939(全仓整改总跟踪) ## 测试 - pre-commit 全部钩子本地通过 - CI 流水线(compile/UT)验证 See merge request: cann/ops-transformer!11457 | 1 month ago |
| 【fix】修复 Dispatch / Barrier 参数校验 Co-authored-by: SimpleBrightMan<tangpanrui1@huawei.com> # message auto-generated for no-merge-commit merge: !14593 merge fix/moe-dispatch-validation-6531-6532-6533-6566 into master 【fix】修复 Dispatch / Barrier 参数校验 Created-by: SimpleBright_Man Commit-by: SimpleBrightMan Merged-by: cann-robot Description: ## 描述 修复四个方面的错误:**通信域大小、输入形状、通信算法、通信域名称**。 1. 0a7c5ded6 — #6531:声明的**EP **必须与**真实通信域**一致 在 A2 Dispatch V1–V4 的 tiling 路径中,根据 groupEp 查询实际 HCCL 通信域的 rank 数,要求: - 查询成功。 - epWorldSize == 实际 rank 数。 2. 40e99abf2 — #6532:x 和 expertIds 的 batch 必须一致 在 V2–V4 共用的 ACLNN 入口,沿用原有空指针检查后,新增: - x 和 expertIds 都必须是二维张量。 - 两者首维必须相等,即 x.shape[0] == expertIds.shape[0]。 同时在 InnerV2、InnerV3 的 InferShape 中补上 batch 一致性检查。例如 x=[8,512] 时,expertIds=[7,1] 或 [9,1] 都拒绝,[8,1] 满足这项要求。 x 每行是一个 token,expertIds 对应提供该 token 的专家路由,两者必须逐行对应。先检查维数,也能保证后续读取首维安全。实机还发现:调用方提供输出形状时,可能绕过 InferShape,所以必须在公共 API 入口也校验,不能只依赖形状推导。 3. 26c77cbad — #6533:显式**通信算法必须合法** A2 路径新增或收紧: - 显式 commAlg 只接受 fullmesh、hierarchy。 - 使用 hierarchy 时,epWorldSize 只能为** 16、32、64**。 - nullptr、空串继续表示使用默认算法,保留原有默认选择行为。 现在小通信域传入 bad、fullmeshh 或显式指定不适用的 hierarchy,现在都会拒绝。原来的小通信域分支会提前采用 fullmesh,导致显式传入的错误参数被忽略。修改后,调用方明确指定的算法必须得到校验;hierarchy 的范围也与当前 A2 实现支持的配置保持一致。 4. 0bf9085d7 — #6566:Barrier **非法通信域名称必须返回错误** 这里主要修正已有校验分支的返回值: - group == nullptr:保留空指针错误 161001。 - 空字符串、长度达到或超过 128:返回参数错误 161002。 - 长度 1–127:通过名称长度检查。 原非法长度分支返回了 false,而 false 转成状态码就是 0,恰好表示成功,因此检查发现了问题却没有正确拦截。改成明确的错误码后,非法输入才能立即返回。另外,127 字符属于合法长度;通过长度检查也不代表该名称一定对应一个已初始化的通信域。 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/6531 校验缺失属实。A2 Dispatch V1–V4 增加 epWorldSize 与实际 EP 通信域 rank 数的一致性检查,不一致时在第一阶段告警。 https://gitcode.com/cann/ops-transformer/issues/6532 batch 一致性校验缺失属实。补齐 V2–V4 公共 ACLNN 入口的维数、batch 校验及 InnerV2/InnerV3 的 InferShape 检查,避免已提供输出形状时绕过校验。 https://gitcode.com/cann/ops-transformer/issues/6533 A2 小通信域绕过算法校验的问题属实。检查显式 commAlg 取值,并限制 hierarchy 的 EP 大小为 16/32/64;保留默认算法行为。 https://gitcode.com/cann/ops-transformer/issues/6566 非法 group 名称分支误返回成功,问题属实。改为 ACLNN_ERR_PARAM_INVALID,补充边界测试及文档;合法长度是 1–127,超长边界为 128。 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 验证:910B3 / CANN 9.2.0,相关算子 Host UT 251/251、API UT 57/57、双卡回归 27/27、真实 Barrier API 前置检查 8/8 通过。核对加载本次构建库,正常用例检查 FP16 输出和 token 路由;EP/算法非法返回 561002,batch 不一致返回 161002。真实 8-rank、声明 EP=16 时,V1–V4 均在全部 8 个 rank 上正确拒绝并正常退出。八卡 V1 的合法输出检查通过,但安装版和修复库均在 Reset/TSD 关闭阶段超时;安装版改用每卡独立进程也复现,因此完整八卡端到端测试未通过。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 涉及,更新了文档里面的校验说法 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!14593 | 18 days ago |
| Pre-Commit 规范整改 — mc2 公共 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !1577 merge test into master Pre-Commit 规范整改 — mc2 公共 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: pre-commit是一个Git Hooks框架,用于在git commit时自动运行代码检查和格式化工具。: | Hook | 功能 | 说明 | |------|------|------| | **clang-format** | C/C++ 代码格式化 | 自动格式化代码,保持风格一致 | | **OAT Check** | 开源合规检查 | 检测许可证头、禁止二进制文件提交 | 本PR对于MC2文件进行了pre-commit检查 See merge request: cann/ops-transformer!1577 | 4 months ago |
| 修正 DistributeBarrier 文档中 worldSize 的数据类型 Co-authored-by: KaranocaVe<karanocave@qq.com> # message auto-generated for no-merge-commit merge: !14279 merge fix/distribute-barrier-worldsize-int64 into master 修正 DistributeBarrier 文档中 worldSize 的数据类型 Created-by: KaranocaVe Commit-by: KaranocaVe Merged-by: cann-robot Description: # 修正 DistributeBarrier 文档中 worldSize 的数据类型 DistributeBarrier 和 DistributeBarrierExtend 的 README 将 worldSize 标为 UINT64,而算子属性和 ACLNN 接口使用有符号 64 位整数。现将两份 README 更正为 INT64,不改动运行时代码。 ## 验证 - 差异检查通过;修复仅涉及两份 README 的类型标注。 - 限定文件的 pre-commit 格式、拼写和其他适用检查通过;OAT 钩子因环境中缺少 oat-py 未能运行。完整 CI 待远端验证。 关联 Issue: https://gitcode.com/cann/ops-transformer/issues/6426 See merge request: cann/ops-transformer!14279 | 24 days ago |
| docs: add English translations for markdown files Co-authored-by: jenny_xiang<jenny.xiang@huawei.com> # message auto-generated for no-merge-commit merge: !15372 merge docs/add-english-translations into master docs: add English translations for markdown files Created-by: jenny_xiang Commit-by: jenny_xiang Merged-by: cann-robot Description: ## 描述 新增仓库Markdown文档英文译稿(第二批,共275个文件),为第一批(已合入)之外的其余全部译稿: - 新增263个英文译稿文件(含上游新增算子 attention/flash_kda_grad 的README与测试说明2篇,及14篇基于最新源文档的增量更新) - 重命名12个中文设计文档为英文名(Xxx算子设计介绍.md → Xxx_design.md,与第一批FFN_design.md策略一致) - 更新7个README中的设计文档引用链接 - 更新.pre-commit-config.yaml中codespell忽略词表 本批内全部仓内链接均指向master已有文件(含第一批已合入的42篇译稿),合入后本仓英文文档全部就位、链接完整生效。 ## 关联的Issue 无 ## 测试 文档类变更,无需算子测试;已通过链接有效性校验、残留中文/全角标点扫描、EOF换行规范检查,并完成逐篇翻译规范自查与独立语义审查(含支持状态表、限定词、术语、数值符号核对)。 ## 文档更新 新增263个英文译稿文件、重命名12个中文设计文档、更新8个现有文件,不修改算子源码。 ## 类型标签 - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [x] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!15372 | 9 days ago |