| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
rotary_position_embedding等4个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !11765 merge ascend350_adapt_w2 into master rotary_position_embedding等4个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 4个算子新增ascend350平台支持:rotary_position_embedding、rotary_position_embedding_grad、inplace_partial_rotary_mul、apply_rotary_pos_emb(前两者的 DEPENDENCIES 依赖算子,连带适配)。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象(参考同仓 flash_attention_score_grad/grouped_matmul 系 350 适配先例) - op_host/CMakeLists.txt:追加 elseif("${CONDITION_UNIT}" STREQUAL "ascend350") 分支,COMPUTE_UNIT=Ascend350_355e(950 为 Ascend950PR_9599),OPTIONS 与 950 相同,depends 行保留;apply_rotary_pos_emb 无 950 条件分支故无需改 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(不拷 simplified_key.ini) ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=... --vendor_name=customize -j4 编译验证:4/4 算子通过(含 4 算子 --ops 逗号分隔同批构建,14 个 .o 产物、run 包产出、DEPENDENCIES src_copy 连带均验证;各算子 --soc=ascend950 对照编译确认两侧产物同构) - 产物路径(本仓形态):build/binary/ascend350/bin/<opFile.value>/ - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5203 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化排查(2026-09-11) - 已对 4 个算子目录(rotary_position_embedding / rotary_position_embedding_grad / apply_rotary_pos_emb / inplace_partial_rotary_mul)全量扫描 SocVersion 相关判断 - 结论:tiling 侧均为 IsRegbaseSocVersion 或不涉及 950 的单点判断,无 [910B,910E] 区间违规项,本 MR 无需 SocVersion 相关代码修改 - 分支已 rebase 至最新 upstream master See merge request: cann/ops-transformer!11765 | 23 小时前 | |
refactor(posembedding): 移除op_kernel头文件的__has_include守卫, 统一include真实头文件路径 Co-authored-by: alfengyuan<yyfgdut@gmail.com> # message auto-generated for no-merge-commit merge: !11943 merge refactor/posembedding-has-include-4948 into master refactor(posembedding): 移除op_kernel头文件的__has_include守卫, 统一include真实头文件路径 Created-by: alfengyuan Commit-by: alfengyuan Merged-by: cann-robot Description: ## 描述 posembedding 下 6 处 op_kernel 头文件使用 #if __has_include(...) 条件包含跨算子公共头,其中主分支对应的 apply_rotary_pos_emb/arch35/ 布局在当前构建下已不存在,属于死代码。参考 PR #11073 的同套路整改:删除 __has_include 守卫及 #else 回退分支,统一直接 include 真实头文件路径 ../../apply_rotary_pos_emb/op_kernel/arch35/apply_rotary_pos_emb_common.h。 涉及 apply_rotary_pos_emb_grad / rotary_position_embedding / rotary_position_embedding_grad 三个算子共 6 个文件,净删除 24 行,无逻辑变化。 ## 关联的Issue 关联Issue #4948:https://gitcode.com/cann/ops-transformer/issues/4948 ## 测试 用 ccec -E(cann-9.2.0)模拟真实构建 staging 布局(依赖 op_kernel 拷贝为 <op>/<dep>/op_kernel/,与 op_kernel 平级)验证: - rotary_position_embedding_apt.cpp 全量预编译通过(覆盖 4 个改动文件) - apply_rotary_pos_emb_grad_common.h / rotary_position_embedding_grad_common.h 跨算子 include 预编译通过 - posembedding 目录 grep 确认无残留 __has_include ## 文档更新 无 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [x] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11943 | 6 天前 | |
fix: 完善Transformer算子proto注册 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !11951 merge master into master fix: 完善Transformer算子proto注册 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 本次修改完成 Transformer 相关算子的 Legacy 原型整改: • 为 DequantRopeQuantKvcache 原型增加去重宏。 • 为 RopeQuantKvcache 原型增加去重宏。 • 修复 DequantRopeQuantKvcache 原型文件末尾缺少换行的问题。 • 未修改 common 目录,也未迁移缺少有效原型来源的 Moe 算子代码 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5410 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11951 | 1 天前 | |
rotary_position_embedding等4个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !11765 merge ascend350_adapt_w2 into master rotary_position_embedding等4个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 4个算子新增ascend350平台支持:rotary_position_embedding、rotary_position_embedding_grad、inplace_partial_rotary_mul、apply_rotary_pos_emb(前两者的 DEPENDENCIES 依赖算子,连带适配)。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象(参考同仓 flash_attention_score_grad/grouped_matmul 系 350 适配先例) - op_host/CMakeLists.txt:追加 elseif("${CONDITION_UNIT}" STREQUAL "ascend350") 分支,COMPUTE_UNIT=Ascend350_355e(950 为 Ascend950PR_9599),OPTIONS 与 950 相同,depends 行保留;apply_rotary_pos_emb 无 950 条件分支故无需改 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(不拷 simplified_key.ini) ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=... --vendor_name=customize -j4 编译验证:4/4 算子通过(含 4 算子 --ops 逗号分隔同批构建,14 个 .o 产物、run 包产出、DEPENDENCIES src_copy 连带均验证;各算子 --soc=ascend950 对照编译确认两侧产物同构) - 产物路径(本仓形态):build/binary/ascend350/bin/<opFile.value>/ - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5203 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化排查(2026-09-11) - 已对 4 个算子目录(rotary_position_embedding / rotary_position_embedding_grad / apply_rotary_pos_emb / inplace_partial_rotary_mul)全量扫描 SocVersion 相关判断 - 结论:tiling 侧均为 IsRegbaseSocVersion 或不涉及 950 的单点判断,无 [910B,910E] 区间违规项,本 MR 无需 SocVersion 相关代码修改 - 分支已 rebase 至最新 upstream master See merge request: cann/ops-transformer!11765 | 23 小时前 | |
torch_extension资料迁移 Co-authored-by: chenyifan<chenyifan66@h-partners.com> # message auto-generated for no-merge-commit merge: !11507 merge mv_torch_docs into master torch_extension资料迁移 Created-by: mutex_lock Commit-by: chenyifan Merged-by: cann-robot Description: ## 描述 将 torch 扩展接口文档从集中目录 torch_extension/cann_ops_transformer/docs/zh/ 迁移到各算子目录 <category>/<op>/docs/,并统一命名为 torchapi_${op_api}.md,使接口文档与 aclnn 文档同目录、与对外 Python API 主名一致。 同步更新: - docs/zh/menu_torch_api.md、docs/zh/torch_api_list.md(链接改写、补齐未入索引接口、menu 字母序) - docs/zh/install/dir_structure.md、torch_extension_guidelines.md(文档落位约定) - 相关算子 README.md 及文档内相对链接 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5123 ## 测试 - 校验 59 篇迁移文档与 menu/list 一一覆盖,相对链接可解析 - 全仓检索确认无残留 cann_ops_transformer/docs/zh 引用 - 对照迁移前后正文:除相对路径改写外无内容篡改 - 文档规则三轮检视通过 ## 文档更新 - 迁移并重命名全部 torch 接口 md 至各算子 docs/torchapi_*.md - 更新 menu_torch_api.md、torch_api_list.md - 更新目录结构说明与 torch_extension 开发规范中的文档路径约定 - 更新相关算子 README 中的接口文档链接 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11507 | 11 天前 | |
pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !11021 merge fix_3 into master pre-commit修复posembedding、mhc、ffn等目录.h/.hpp历史格式问题 Created-by: gitcode_lijd Commit-by: gitcode_lijd Merged-by: cann-robot Description: ## 关联的Issue 关联Issue https://gitcode.com/cann/ops-transformer/issues/4850 ## 描述 对仓内算子源码提前做 pre-commit 历史格式问题清理,为后续功能改动(如 Regbase API 替换等)扫清钩子障碍,避免后续 PR 因格式问题被大面积格式化污染 diff。 处理方式: find <目录> -type f \( -name '*.h' -o -name '*.hpp' \) | xargs pre-commit run --files,多轮执行直到所有 hook 收敛(无 Failed / 无自动修复)。 修复内容(仅格式,不改任何代码语义): - 尾随空白(trailing whitespace) - 文件末尾换行(end of file) - clang-format 代码重排(换行、缩进、对齐,遵循仓内 .clang-format) ### 排除范围(不做格式化) - *_def.cpp 算子定义文件(排版由开发者自行维护,另见 PR #11041) - */op_api/aclnn*.h、*/op_graph/*_proto.h、*/op_host/op_api/aclnn*.h 接口/原型头文件(排版由开发者自行维护) - mamba/ 目录(该目录 causal_conv1d 算子 UT 上游基线存在失败,见 Issue #4840,本批不涉及) - examples/、experimental/ 目录 ### PR 拆分说明 全仓 .h/.hpp 清理共 2362 个文件,按场景目录拆分为 6 个 PR(分支不同、内容互不重叠,可独立 review 合入): | PR | 分支 | 范围 | |---|---|---| | #4878 | compile | attention 第1批(按算子字母序前段) | | #10422 | graph | attention 第2批(按算子字母序中段) | | #9331 | test | attention 第3批(按算子字母序后段) | | #10991 | fix | mc2 | | #11020 | fix_2 | moe、gmm | | #11021 | fix_3 | posembedding、mhc、ffn、common、tests、torch_extension | ## 测试 - 纯格式化改动:不改变任何代码语义,逐文件 diff 均为空白/换行/clang-format 重排 - pre-commit 全量 hook 收敛验证:多轮执行后 trailing-whitespace / end-of-file-fixer / clang-format 均 Passed - 建议合入前对相关算子做一次编译验证 See merge request: cann/ops-transformer!11021 | 19 天前 | |
[Docs] 修复aclnnKvRmsNormRopeCacheV2接口文档示例无法运行的问题 Co-authored-by: raoliang_sac<raoliang4@huawei.com> # message auto-generated for no-merge-commit merge: !12037 merge fix-kv-rms-norm-rope-cache-v2-sample into master [Docs] 修复aclnnKvRmsNormRopeCacheV2接口文档示例无法运行的问题 Created-by: raoliang_sac Commit-by: raoliang_sac Merged-by: cann-robot Description: ## 描述 aclnnKvRmsNormRopeCacheV2 接口文档的调用示例采用 V2(kv分离)场景构造入参(N=2、vOptional 非空、kv 尾轴 192),而该场景仅 **Atlas A3 训练/推理系列产品**、**Atlas A2 训练/推理系列产品** 支持。在仅支持 V1 场景的产品(**Ascend 950PR/Ascend 950DT**)上按示例运行,第一段接口即返回 561002: [ERROR] ... [kv_rms_norm_rope_cache_regbase_full_load_tiling.cpp:279] ... Parameter kv of KvRmsNormRopeCache has incorrect shape [32, 2, 64, 192]. Reason: The N axis of input kv should be 1, where N refers to the 1th dim. ### 改动方法 - 本接口向下兼容 V1 场景(vOptional=None),示例改为 V1 场景(vOptional 传 nullptr),支持本算子的所有产品(Ascend 950PR/950DT、Atlas A3、Atlas A2)均可运行; - 在示例注释中补充 V2(kv分离)场景的 shape 构造与产品限制说明,便于 Atlas A3/A2 用户构造 V2 调用; - 修正 index 的 shape 为文档约束的 2 维 [Bkv, Skv](原示例为 [Bkv*Skv, 1],不满足"当cacheModeOptional为Norm时,shape为2维[Bkv,Skv]"的约束); - PrintOutResult 改为与 examples/test_aclnn_kv_rms_norm_rope_cache.cpp 一致的稀疏打印,避免逐元素打印海量日志。 ## 关联的Issue #5306 ## 测试 在 Ascend 950 环境(CANN 9.2.0)实测: - 修改前:按文档示例编译运行失败,aclnnKvRmsNormRopeCacheV2GetWorkspaceSize failed. ERROR: 561002(退出码 106); - 修改后:从修改后的文档中提取示例编译运行成功(退出码 0),两块 cache 正确写入 RmsNorm/RoPE 计算结果(全 1 输入实测输出 1.000000,与理论值一致)。 ## 文档更新 本 PR 即为文档修复。 ## 类型标签 - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!12037 | 5 天前 | |
norm_rope_concat和norm_rope_concat_grad内存问题修复 Co-authored-by: yuhao_<yuhao93@huawei.com> Co-authored-by: huyihang<huyihang6@h-partners.com> # message auto-generated for no-merge-commit merge: !11961 merge 914norm into master norm_rope_concat和norm_rope_concat_grad内存问题修复 Created-by: huyihang1117 Commit-by: yuhao_;huyihang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复https://gitcode.com/cann/ops-transformer/issues/5235中存在的内存问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/5235 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11961 | 6 天前 | |
norm_rope_concat和norm_rope_concat_grad内存问题修复 Co-authored-by: yuhao_<yuhao93@huawei.com> Co-authored-by: huyihang<huyihang6@h-partners.com> # message auto-generated for no-merge-commit merge: !11961 merge 914norm into master norm_rope_concat和norm_rope_concat_grad内存问题修复 Created-by: huyihang1117 Commit-by: yuhao_;huyihang Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 修复https://gitcode.com/cann/ops-transformer/issues/5235中存在的内存问题 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/5235 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11961 | 6 天前 | |
AIDD拼写和标点问题修改 Co-authored-by: y60124828<yanglou1@h-partners.com> # message auto-generated for no-merge-commit merge: !11641 merge master into master AIDD拼写和标点问题修改 Created-by: yanglu-1 Commit-by: y60124828 Merged-by: cann-robot Description: ## 描述 AIDD拼写和标点问题修改 ## 关联的Issue 关联Issue #5159 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [x] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11641 | 11 天前 | |
qkv_rms_norm_rope_cache_with_k_scale校验空tensor Co-authored-by: zhangquanxin<zhangquanxin7@h-partners.com> # message auto-generated for no-merge-commit merge: !11928 merge master into master qkv_rms_norm_rope_cache_with_k_scale校验空tensor Created-by: zhangquanxin Commit-by: zhangquanxin Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本 PR 为算子 qkv_rms_norm_rope_cache_with_k_scale 增加空 tensor 校验逻辑,属于安全修复。核心改动是在算子参数校验类 QkvRmsNormRopeCacheWithKScaleCheck 的 CheckParams 中新增 TensorEmptyRule 结构体及一组非空 tensor 校验规则:当 qkv、qGamma、kGamma、cosSin、slotMapping、kCache、vCache、kScaleCache、qOut、queryStartLoc、seqLens、mropePosition 等 tensor 被传入且为空(IsEmpty() 为真)时,记录错误日志并返回 ACCLNN_ERR_PARAM_INVALID;同时同步更新了对应的算子 UT 用例,使测试对空维度场景的期望返回值与新的校验行为保持一致。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> issue https://gitcode.com/cann/ops-transformer/issues/5274 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 二级冒烟 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 无 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [x] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11928 | 3 天前 | |
fix: 完善Transformer算子proto注册 Co-authored-by: zhouxuan78<zhouxuan78@huawei.com> # message auto-generated for no-merge-commit merge: !11951 merge master into master fix: 完善Transformer算子proto注册 Created-by: zhouxuan78 Commit-by: zhouxuan78 Merged-by: cann-robot Description: ## 描述 本次修改完成 Transformer 相关算子的 Legacy 原型整改: • 为 DequantRopeQuantKvcache 原型增加去重宏。 • 为 RopeQuantKvcache 原型增加去重宏。 • 修复 DequantRopeQuantKvcache 原型文件末尾缺少换行的问题。 • 未修改 common 目录,也未迁移缺少有效原型来源的 Moe 算子代码 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5410 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11951 | 1 天前 | |
fix: 补充 RopeWithSinCosCache 参数校验与文档约束 Co-authored-by: weixin_44156099<heyuhang20@h-partners.com> # message auto-generated for no-merge-commit merge: !11585 merge fix/rope-with-sin-cos-cache-validation into master fix: 补充 RopeWithSinCosCache 参数校验与文档约束 Created-by: weixin_44156099 Commit-by: weixin_44156099 Merged-by: cann-robot Description: ## 修改说明 - 增加 rope/mrope 模式下 positions shape 与 numTokens 的 API 参数校验。 - 要求 headSize 大于 0,避免非法除法和取模。 - queryIn/keyIn 尾维不可被 headSize 整除时,仅在 TilingCompute 中记录错误日志,不新增兼容性拦截。 - 更新 V1/V2 文档及 README 的约束说明,参数错误码统一为 161002。 ## 验证 - Ascend 910B op_api 单测:10/10 通过。 - Ascend 910B op_host/tiling 单测:12/12 通过。 - git diff --check 通过。 Fixes #5143 See merge request: cann/ops-transformer!11585 | 1 天前 | |
rotary_position_embedding等4个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !11765 merge ascend350_adapt_w2 into master rotary_position_embedding等4个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 4个算子新增ascend350平台支持:rotary_position_embedding、rotary_position_embedding_grad、inplace_partial_rotary_mul、apply_rotary_pos_emb(前两者的 DEPENDENCIES 依赖算子,连带适配)。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象(参考同仓 flash_attention_score_grad/grouped_matmul 系 350 适配先例) - op_host/CMakeLists.txt:追加 elseif("${CONDITION_UNIT}" STREQUAL "ascend350") 分支,COMPUTE_UNIT=Ascend350_355e(950 为 Ascend950PR_9599),OPTIONS 与 950 相同,depends 行保留;apply_rotary_pos_emb 无 950 条件分支故无需改 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(不拷 simplified_key.ini) ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=... --vendor_name=customize -j4 编译验证:4/4 算子通过(含 4 算子 --ops 逗号分隔同批构建,14 个 .o 产物、run 包产出、DEPENDENCIES src_copy 连带均验证;各算子 --soc=ascend950 对照编译确认两侧产物同构) - 产物路径(本仓形态):build/binary/ascend350/bin/<opFile.value>/ - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5203 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化排查(2026-09-11) - 已对 4 个算子目录(rotary_position_embedding / rotary_position_embedding_grad / apply_rotary_pos_emb / inplace_partial_rotary_mul)全量扫描 SocVersion 相关判断 - 结论:tiling 侧均为 IsRegbaseSocVersion 或不涉及 950 的单点判断,无 [910B,910E] 区间违规项,本 MR 无需 SocVersion 相关代码修改 - 分支已 rebase 至最新 upstream master See merge request: cann/ops-transformer!11765 | 23 小时前 | |
rotary_position_embedding等4个算子新增ascend350平台支持 Co-authored-by: Developer user<zhuzixian1@h-partners.com> # message auto-generated for no-merge-commit merge: !11765 merge ascend350_adapt_w2 into master rotary_position_embedding等4个算子新增ascend350平台支持 Created-by: zhuzixian-lr Commit-by: Developer user Merged-by: cann-robot Description: ## 描述 4个算子新增ascend350平台支持:rotary_position_embedding、rotary_position_embedding_grad、inplace_partial_rotary_mul、apply_rotary_pos_emb(前两者的 DEPENDENCIES 依赖算子,连带适配)。 修改模式(350与ascend950完全同配,两者同为 DAV_3510,走同一代码分支): - op_host/<op>_def.cpp:追加 AddConfig("ascend350"),复用 ascend950 同一 config 对象(参考同仓 flash_attention_score_grad/grouped_matmul 系 350 适配先例) - op_host/CMakeLists.txt:追加 elseif("${CONDITION_UNIT}" STREQUAL "ascend350") 分支,COMPUTE_UNIT=Ascend350_355e(950 为 Ascend950PR_9599),OPTIONS 与 950 相同,depends 行保留;apply_rotary_pos_emb 无 950 条件分支故无需改 - op_host/config/ascend350/:拷贝 ascend950 的 <op>_binary.json(不拷 simplified_key.ini) ## 测试 A5(Ascend950PR)环境实测: - bash build.sh --pkg --soc=ascend350 --ops=... --vendor_name=customize -j4 编译验证:4/4 算子通过(含 4 算子 --ops 逗号分隔同批构建,14 个 .o 产物、run 包产出、DEPENDENCIES src_copy 连带均验证;各算子 --soc=ascend950 对照编译确认两侧产物同构) - 产物路径(本仓形态):build/binary/ascend350/bin/<opFile.value>/ - pre-commit 全部检查通过(按文件运行,含 clang-format/codespell/OAT 合规) ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/5203 ## 类型标签 - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 ## SocVersion 判断合规化排查(2026-09-11) - 已对 4 个算子目录(rotary_position_embedding / rotary_position_embedding_grad / apply_rotary_pos_emb / inplace_partial_rotary_mul)全量扫描 SocVersion 相关判断 - 结论:tiling 侧均为 IsRegbaseSocVersion 或不涉及 950 的单点判断,无 [910B,910E] 区间违规项,本 MR 无需 SocVersion 相关代码修改 - 分支已 rebase 至最新 upstream master See merge request: cann/ops-transformer!11765 | 23 小时前 | |
test(und-gen-qkv): reuse golden for E2E XPU reference Co-authored-by: qianzehong<qianzehong@huawei.com> # message auto-generated for no-merge-commit merge: !11828 merge und_golden into master test(und-gen-qkv): reuse golden for E2E XPU reference Created-by: qianzehong Commit-by: qianzehong Merged-by: cann-robot Description: ## 描述 Torch E2E 通路通过 --xpu-perf / cross_check 调用远端 xpu-server 时,GPU 端不存在 torch.ops.cann_ops_transformer.und_gen_qkv_rms_norm_rope_cache API,需要显式提供可执行的参考实现。 仅修改 golden.py: - 新增并导出 UndGenQkvRmsNormRopeCacheXpuRef,其 __call__ 接收 12 个张量、5 个 keyword-only 属性,mrope_section 默认 None;调用前将 head 数、eps 和 mrope_section 分别规范化为 int、float 和 list。 - 直接将目标设备上的张量传给现有 golden 主入口,使用 inplace=False 返回更新后的 KV cache 副本,保留输入 cache,返回 (q, k_cache, v_cache)。 - 仅在 TorchUndGenQkvRmsNormRopeCacheTestSpec 中注册 third_party = {"torch": UndGenQkvRmsNormRopeCacheXpuRef},供 xpu-server 实例化执行。 ## 关联的Issue 关联 #5238:https://gitcode.com/cann/ops-transformer/issues/5238 ## 测试 测试提交:812b8f88e。 - GPU 环境:NVIDIA A100-PCIE-40GB,PyTorch 2.13.0+cu130。 - 8 个 CUDA 用例通过:两种 head 配置(8/1/1、16/2/2)× 仅 und、混合 und/gen、重复 cat 索引、仅 gen。 - 16 次服务端 DATA 请求执行通过,覆盖 BF16 输入序列化、Torch TestSpec third_party 解析、新增 XPU 参考类实例化与 __call__、CUDA 执行及输出回传。服务端输出与直接 GPU 调用结果精确一致。 - GPU 输出与 CPU golden 的精度比较通过;验证输出 shape/dtype/device、输入 cache 和未写入区域保持不变、V 精确一致。 - CPU 检查通过:mrope_section 为 None/空 tuple/三轴 tuple、属性类型转换、重复调用不修改输入、导出和 E2E-only 注册。 - Ruff check、format --check、git diff --check 通过。 - 上述 DATA 请求直接调用服务端 execute_request;未覆盖 HTTP 传输、完整 TTK NPU/GPU 三方交叉校验及性能采集。 ## 文档更新 更新 golden.py 中 XPU 参考类和 Torch TestSpec 的说明。 ## 类型标签 - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [x] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11828 | 9 天前 | |
更新license Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !568 merge lic into master 更新license Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 更新license <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-transformer!568 | 8 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 23 小时前 | ||
| 6 天前 | ||
| 1 天前 | ||
| 23 小时前 | ||
| 11 天前 | ||
| 19 天前 | ||
| 5 天前 | ||
| 6 天前 | ||
| 6 天前 | ||
| 11 天前 | ||
| 3 天前 | ||
| 1 天前 | ||
| 1 天前 | ||
| 23 小时前 | ||
| 23 小时前 | ||
| 9 天前 | ||
| 8 个月前 |