| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
sfa add torch_extension Co-authored-by: tianjiaolei<leitianjiao@huawei.com> # message auto-generated for no-merge-commit merge: !11358 merge master into master sfa add torch_extension Created-by: tianjiaolei Commit-by: tianjiaolei Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> SFA算子新增torch_extension接口 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-transformer/issues/5307 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。-->  ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> 新增接口描述文档 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!11358 | 20 天前 | |
feat(SFA): PA_BSND场景return_softmax_lse仅A5支持,A2/A3保留原限制 Co-authored-by: changlei24<changlei24@huawei.com> # message auto-generated for no-merge-commit merge: !12571 merge feat/sparse_flash_attention_lse_pa_a5 into master feat(SFA): PA_BSND场景return_softmax_lse仅A5支持,A2/A3保留原限制 Created-by: changlei24 Commit-by: changlei24 Merged-by: cann-robot Description: ## 描述 sparse_flash_attention 算子 return_softmax_lse=true 与 layout_kv=PA_BSND 组合的支持范围按架构区分(对齐专家意见,区别于 #10274 的全架构放行方案): - **仅 Ascend 950PR/Ascend 950DT(A5,arch35/DAV_3510)**:放行该组合,tiling 返回 GRAPH_SUCCESS; - **Atlas A2/A3 系列(arch22/DAV_2201,910B 与 910_93 共用 host tiling 路径)**:保留原始限制,tiling 返回 GRAPH_FAILED。 ### 主要改动 1. **tiling 校验按架构放行**(sparse_flash_attention_tiling.cpp GetKvLayout()):原校验增加 !isA5_ 条件——A5 跳过校验,A2/A3 维持 GRAPH_FAILED;错误信息同步注明仅 950 支持。isA5_ 由 GetNpuInfo() 在 Parse() 中先于 GetKvLayout() 赋值,取值可靠。 2. **新增 arch35 正向 UT**(SparseFlashAttention_950_tiling_2):950 平台 PA_BSND + return_softmax_lse=true 期望 GRAPH_SUCCESS;arch22 既有反例 tiling_13/tiling_27 保持 GRAPH_FAILED 不变。 3. **移除 ST 侧冗余校验**(check_valid_param.py):删除 PA_BSND 场景 return_softmax_lse=True 的 Python 侧拦截——tiling 层已含权威校验(!isA5_ 条件),避免双处维护与 CPU 侧 golden 生成时的误拦截。 4. **文档更新**(按检视意见调整):算子训推一致,参数表格不体现训练/推理及架构版本限制;PA_BSND 场景 return_softmax_lse 的架构差异统一写入约束说明,分架构列出(950 支持、A3/A2 不支持)。 ## 关联的Issue [#5618](https://gitcode.com/cann/ops-transformer/issues/5618) ## 测试 - [x] ophost UT(ascend910b,arch22 路径):29 个用例全部通过,tiling_13/tiling_27 维持 GRAPH_FAILED(A2/A3 限制保留) - [x] ophost UT(ascend950,arch35 路径):9 个用例全部通过,新增 SparseFlashAttention_950_tiling_2(PA_BSND + lse)GRAPH_SUCCESS - [x] pre-commit 全部通过(clang-format / ruff / codespell / OAT) - [ ] 950 环境二级冒烟(待 CI / 后续补充) ## 文档更新 - attention/sparse_flash_attention/README.md - attention/sparse_flash_attention/docs/aclnnSparseFlashAttention.md - attention/sparse_flash_attention/docs/aclnnSparseFlashAttentionV2.md ## 类型标签 - [x] 新特性 See merge request: cann/ops-transformer!12571 | 20 天前 | |
feat(SFA): PA_BSND场景return_softmax_lse仅A5支持,A2/A3保留原限制 Co-authored-by: changlei24<changlei24@huawei.com> # message auto-generated for no-merge-commit merge: !12571 merge feat/sparse_flash_attention_lse_pa_a5 into master feat(SFA): PA_BSND场景return_softmax_lse仅A5支持,A2/A3保留原限制 Created-by: changlei24 Commit-by: changlei24 Merged-by: cann-robot Description: ## 描述 sparse_flash_attention 算子 return_softmax_lse=true 与 layout_kv=PA_BSND 组合的支持范围按架构区分(对齐专家意见,区别于 #10274 的全架构放行方案): - **仅 Ascend 950PR/Ascend 950DT(A5,arch35/DAV_3510)**:放行该组合,tiling 返回 GRAPH_SUCCESS; - **Atlas A2/A3 系列(arch22/DAV_2201,910B 与 910_93 共用 host tiling 路径)**:保留原始限制,tiling 返回 GRAPH_FAILED。 ### 主要改动 1. **tiling 校验按架构放行**(sparse_flash_attention_tiling.cpp GetKvLayout()):原校验增加 !isA5_ 条件——A5 跳过校验,A2/A3 维持 GRAPH_FAILED;错误信息同步注明仅 950 支持。isA5_ 由 GetNpuInfo() 在 Parse() 中先于 GetKvLayout() 赋值,取值可靠。 2. **新增 arch35 正向 UT**(SparseFlashAttention_950_tiling_2):950 平台 PA_BSND + return_softmax_lse=true 期望 GRAPH_SUCCESS;arch22 既有反例 tiling_13/tiling_27 保持 GRAPH_FAILED 不变。 3. **移除 ST 侧冗余校验**(check_valid_param.py):删除 PA_BSND 场景 return_softmax_lse=True 的 Python 侧拦截——tiling 层已含权威校验(!isA5_ 条件),避免双处维护与 CPU 侧 golden 生成时的误拦截。 4. **文档更新**(按检视意见调整):算子训推一致,参数表格不体现训练/推理及架构版本限制;PA_BSND 场景 return_softmax_lse 的架构差异统一写入约束说明,分架构列出(950 支持、A3/A2 不支持)。 ## 关联的Issue [#5618](https://gitcode.com/cann/ops-transformer/issues/5618) ## 测试 - [x] ophost UT(ascend910b,arch22 路径):29 个用例全部通过,tiling_13/tiling_27 维持 GRAPH_FAILED(A2/A3 限制保留) - [x] ophost UT(ascend950,arch35 路径):9 个用例全部通过,新增 SparseFlashAttention_950_tiling_2(PA_BSND + lse)GRAPH_SUCCESS - [x] pre-commit 全部通过(clang-format / ruff / codespell / OAT) - [ ] 950 环境二级冒烟(待 CI / 后续补充) ## 文档更新 - attention/sparse_flash_attention/README.md - attention/sparse_flash_attention/docs/aclnnSparseFlashAttention.md - attention/sparse_flash_attention/docs/aclnnSparseFlashAttentionV2.md ## 类型标签 - [x] 新特性 See merge request: cann/ops-transformer!12571 | 20 天前 | |
Added the UT case of op_host for QLI/QSFA, repairing LI/SFA UT Co-authored-by: j60100428<jingsong5@h-partners.com> # message auto-generated for no-merge-commit merge: !4212 merge master into master Added the UT case of op_host for QLI/QSFA, repairing LI/SFA UT Created-by: SH_jingsong Commit-by: j60100428 Merged-by: cann-robot Description: ## 描述 Added the UT case of op_host for QLI/QSFA, repairing LI/SFA UT 目标: 提升attention/quant_lightning_indexer、attention/kv_quant_sparse_flash_attention算子tiling、infershape覆盖率 结果: QSFA/QLI 的tiling、infershape行覆盖率均提升至80%以上 修复: 修复int64_t actual_seq_qlist[] = {};的零长数组初始化问题·,保证不同编译器编译正常 重启expectTilingData校验,填充预期的 tilingdata 数据进行端到端验证。 添加返回GRAPH_FAILED的失败场景注释 ## 关联的Issue https://gitcode.com/cann/ops-transformer/issues/1885 ## 测试 bash build.sh -u --ophost --ops=lightning_indexer --soc="ascend910b" --cov 2>&1 | tee ./log/li_ophost_ut.log bash build.sh -u --ophost --ops=sparse_flash_attention --soc="ascend910b" --cov 2>&1 | tee ./log/sfa_ophost_ut.log bash build.sh -u --ophost --ops=quant_lightning_indexer --soc="ascend910b,ascend950" --cov 2>&1 | tee ./log/qli_ophost_ut.log bash build.sh -u --ophost --ops=kv_quant_sparse_flash_attention --soc="ascend910b,ascend950" --cov 2>&1 | tee ./log/qsfa_ophost_ut.log ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!4212 | 5 个月前 |