| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
fix sfag non-optimized path Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !7810 merge 0617m into master fix sfag non-optimized path Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: 变更摘要 此 PR 修复了稀疏 Flash Attention 梯度(SFAG)的非优化路径,主要引入了一套基于序列长度、块大小等条件的门控决策,用于在算子中切换优化/非优化 scatter 路径。当 enableOptimizedScatter 为 false 时,VecOp 和 CubeOp 各模块使用独立的非优化数据搬运、Gather 和 ScatterAdd 实现,涉及不同的内存布局、缓冲区大小、事件同步策略和偏移计算方式。 主要改动: 新增 OptimizedScatterGateDecision 门控决策:按 selectedBlockSize、N1、gateS1/gateS2、effectiveSelectedTokens 等阈值决定是否启用优化 scatter,并输出详细日志;确定性模式强制走非优化路径。 非优化路径和优化路径分离干净:UB 初始化布局、事件同步、workspace分配、nz转nd等均和优化路径独立 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7810 | 22 天前 | |
sfag support sparsemode0 and no rope Co-authored-by: dai-yuwen<daiyuwen1@huawei.com> # message auto-generated for no-merge-commit merge: !6367 merge sfag_sparsemode into master sfag support sparsemode0 and no rope Created-by: dai-yuwen Commit-by: dai-yuwen Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6367 | 1 个月前 | |
fix sfag: remove const from aclrtStream parameter Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !7905 merge 0630m into master fix sfag: remove const from aclrtStream parameter Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: 变更摘要 此 PR 移除了 aclnnSparseFlashAttentionGrad 及其内部函数 aclnnInnerSparseFlashAttentionGrad 中 aclrtStream stream 参数的 const 限定符。改动涉及头文件声明和源文件中的外部声明及函数定义,使 stream 参数类型由 const aclrtStream 变更为 aclrtStream。 主要改动 移除 aclnnSparseFlashAttentionGrad 头文件声明中的 const:在 aclnn_sparse_flash_attention_grad.h 中,将 const aclrtStream stream 改为 aclrtStream stream,与调用方的预期接口保持一致。 移除 aclnnSparseFlashAttentionGrad 函数定义中的 const:在 aclnn_sparse_flash_attention_grad.cpp 中同步去掉了参数上的 const 限定符。 移除 aclnnInnerSparseFlashAttentionGrad 外部声明中的 const:同文件中内部函数的外部声明也一并移除了 const,确保声明与实现匹配。 ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!7905 | 23 天前 | |
support sfag kv merge Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge sfag-kv-merge-only into master support sfag kv merge Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 本 PR 为SparseFlashAttentionGrad 增加 KV merge 场景支持:当 value 输入为空时,算子按 value = key 处理,避免重复搬运 V;不再输出独立 dValue,而是将 dKey + dValue 合并到 dKey 输出中。 value 正常传入时保持原有非 KV merge 行为。 value=None 仅启用 KV merge 语义,dValueOut 为空,调用侧需要从 dKeyOut 获取合并后的 dk + dv。 ## 关联的Issue 关联Issue #2988 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6765 | 1 个月前 | |
support sfag kv merge Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge sfag-kv-merge-only into master support sfag kv merge Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 本 PR 为SparseFlashAttentionGrad 增加 KV merge 场景支持:当 value 输入为空时,算子按 value = key 处理,避免重复搬运 V;不再输出独立 dValue,而是将 dKey + dValue 合并到 dKey 输出中。 value 正常传入时保持原有非 KV merge 行为。 value=None 仅启用 KV merge 语义,dValueOut 为空,调用侧需要从 dKeyOut 获取合并后的 dk + dv。 ## 关联的Issue 关联Issue #2988 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6765 | 1 个月前 | |
support sfag kv merge Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge sfag-kv-merge-only into master support sfag kv merge Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 本 PR 为SparseFlashAttentionGrad 增加 KV merge 场景支持:当 value 输入为空时,算子按 value = key 处理,避免重复搬运 V;不再输出独立 dValue,而是将 dKey + dValue 合并到 dKey 输出中。 value 正常传入时保持原有非 KV merge 行为。 value=None 仅启用 KV merge 语义,dValueOut 为空,调用侧需要从 dKeyOut 获取合并后的 dk + dv。 ## 关联的Issue 关联Issue #2988 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6765 | 1 个月前 | |
common目录整改 Co-authored-by: hello_simida<wangyi206@huawei.com> # message auto-generated for no-merge-commit merge: !4870 merge feature/common_dir_fix_v2 into master common目录整改 Created-by: hello_simida Commit-by: hello_simida Merged-by: cann-robot Description: ## 描述 本次修改对 common/ 目录进行整理,分为两个阶段: - **Phase 1**: 将 common/include/kernel/ 重命名为 common/include/op_kernel/ - **Phase 2**: 将 common/include/tiling_base/ 和 common/src/tiling_base/ 合并到 common/include/op_host/ 和 common/src/op_host/ 相应的 CMake 配置和所有 #include 路径引用已同步更新。 影响范围: - 351 个文件修改(include 路径更新) - 8 个文件重命名(tiling_base → op_host) - 2 个 CMakeLists.txt 修改 + 多个 tests 目录 CMakeLists.txt 更新 ## 关联的Issue Closes #2246 ## 测试 - 编译验证通过:bash build.sh --pkg --soc=ascend910b --ops=all_gather_matmul_v2 -j16 - 编译产物成功生成 .run 包 ## 文档更新 无 ## 类型标签 - [x] ♻️ 重构 - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!4870 | 2 个月前 | |
修复SFAG同步问题与潜在风险 Co-authored-by: hz36amy_00<zhouyangfan8@huawei.com> # message auto-generated for no-merge-commit merge: !8445 merge sfag-0708 into master 修复SFAG同步问题与潜在风险 Created-by: hz36amy_00 Commit-by: hz36amy_00 Merged-by: cann-robot Description: ## 描述 1、修复 runInfo中scatterTmpK/VMte2WaitV eventId未赋值导致的偶现卡死问题 2、修复tilingdata字段未对齐潜在风险 3、修复性能优化分支下NzToNd MTE3->V的同步,提升性能 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!8445 | 15 天前 | |
support sfag kv merge Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge sfag-kv-merge-only into master support sfag kv merge Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 本 PR 为SparseFlashAttentionGrad 增加 KV merge 场景支持:当 value 输入为空时,算子按 value = key 处理,避免重复搬运 V;不再输出独立 dValue,而是将 dKey + dValue 合并到 dKey 输出中。 value 正常传入时保持原有非 KV merge 行为。 value=None 仅启用 KV merge 语义,dValueOut 为空,调用侧需要从 dKeyOut 获取合并后的 dk + dv。 ## 关联的Issue 关联Issue #2988 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6765 | 1 个月前 | |
support sfag kv merge Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6765 merge sfag-kv-merge-only into master support sfag kv merge Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 本 PR 为SparseFlashAttentionGrad 增加 KV merge 场景支持:当 value 输入为空时,算子按 value = key 处理,避免重复搬运 V;不再输出独立 dValue,而是将 dKey + dValue 合并到 dKey 输出中。 value 正常传入时保持原有非 KV merge 行为。 value=None 仅启用 KV merge 语义,dValueOut 为空,调用侧需要从 dKeyOut 获取合并后的 dk + dv。 ## 关联的Issue 关联Issue #2988 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6765 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 22 天前 | ||
| 1 个月前 | ||
| 23 天前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 15 天前 | ||
| 1 个月前 | ||
| 1 个月前 |