| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(flash_attn): TTK 资产补齐 metadata 生成能力(npu_preprocess + sidecar 协议) Co-authored-by: PerrySkywalker<wangmingkang1@huawei.com> # message auto-generated for no-merge-commit merge: !10559 merge feat/flash_attn_ttk_metadata_assets into master feat(flash_attn): TTK 资产补齐 metadata 生成能力(npu_preprocess + sidecar 协议) Created-by: PerrySkywalker Commit-by: PerrySkywalker Merged-by: cann-robot Description: ## 描述 为 attention/flash_attn/tests/assets 补齐 TTK metadata 生成能力(资产保持自包含,运行时零 tests/pytests 依赖): - 新增 impl/npu_preprocess.py:npu_preprocess hook,主算子调用前通过 flash_attn_metadata 算子生成 metadata 并填充 CSV 占位;支持 BNSD/BSND/TND/PA_BBND/PA_BNBD/PA_NZ 六种布局的 head/batch/max_seqlen 推导;sidecar 手动数据优先,推导后回存 - 新增 impl/metadata_protocol.py + impl/metadata_inputs.py:TTK 手动数据 sidecar 协议与 standalone metadata 输入适配 - impl/inputs.py:customize_inputs 清零 metadata 占位(zero_metadata) - impl/graph.py:forward 强制内部重建 metadata(避免 CSV 占位 tensor 回归 graph 路径) - spec.py:注册 npu_preprocess hook 与 flash_attn_metadata 能力入口 - gen_cases.py:metadata 槽位输出 int32 占位 shape(((36+72)*B*N2+1)*16 向上 4096 对齐,TND 用 len(cu_seqlens_q)-1、kv_heads 用 N2);重新生成 7 套 testcase CSV ## 关联的Issue Fixes https://gitcode.com/cann/ops-transformer/issues/4556 ## 测试 - 小用例 E2E 冒烟(testcase/flash_attn_e2e_smoke.csv,7 行:BSND/TND/PA_BBND/BNSD × mask 0/4 × B=1/2 × LSE T/F)在 Ascend950PR 真实执行 **7/7 PASS(PassRate 100%)** - npu_preprocess 生效证据:eager 运行日志每行含 "build FlashAttn metadata from main API fallback" - gen_cases 基线防回归:84 用例除 metadata 槽位外逐字段一致;TND batch 语义(len(cu_q)-1)14 行验证;N2(非 N1)验证 - metadata_protocol sidecar:双 root roundtrip + fallback + symlink 拒绝等 33 项自检 PASS - pre-commit 全部 Passed ## 文档更新 无需更新文档 ## 类型标签 - [x] ✨ 新特性 - [x] 🧪 测试 See merge request: cann/ops-transformer!10559 | 13 天前 | |
chore: pre-commit格式修正(pytests backends/data + FA op_api/vf头) Co-authored-by: jiang-lirui<jianglirui1@huawei.com> # message auto-generated for no-merge-commit merge: !11116 merge fmt_precommit_only into master chore: pre-commit格式修正(pytests backends/data + FA op_api/vf头) Created-by: jiang-lirui Commit-by: jiang-lirui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> flash_attn算子pre-commit和OAT规范修改 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> Issue [#4907](https://gitcode.com/cann/ops-transformer/issues/4907) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 不涉及 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11116 | 6 天前 | |
pre-commit修复attention目录.h/.hpp历史格式问题(第2批) Co-authored-by: gitcode_lijd<lijiandong20@huawei.com> # message auto-generated for no-merge-commit merge: !10422 merge graph into master pre-commit修复attention目录.h/.hpp历史格式问题(第2批) 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!10422 | 6 天前 | |
训推归一-flash_attn Co-authored-by: Yuanfeng_HW<yuanfeng24@huawei.com> # message auto-generated for no-merge-commit merge: !5014 merge 5/7-se into master 训推归一-flash_attn Created-by: Yuanfeng_HW Commit-by: Yuanfeng_HW Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 需求:新增新接口算子flash_attn,该算子支持非量化场景下FA训练正向与推理功能 具体支持功能: 1、基础端到端功能,tiling + kernel + interface (继承 + 新开发) 1.1 基础layout layout_q: BSND dtype_q BF16/FP16 layout_kv: BSND dtype_kv BF16/FP16 layout_out: BSND dtype_out BF16/FP16 1.2 使用aicpu MetaData 输入进行负载均衡调度 1.3 Metadata参数支持不传 1.4 PTA接口放Transformer仓 2、支持 seqused_q, seqused_kv (继承 + int32 适配) 3、 layout 泛化支持(含PageAttention)(继承 + cu_seqlens_q、cu_seqlens_kv shape dtype 适配 ) 4、mask 支持 mode 1 , 3 5、支持行无效 (继承) 6、softmax_scale 支持None输入(新开发) 7、支持softmaxLse 输出,支持全量layout (继承功能) ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/2336 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!5014 | 3 个月前 |