| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
sfag长序列优化 Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6170 merge only_longseqop into master sfag长序列优化 Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 sfag长序列优化点 * scatter优化 优化后将 scatter 从t1末尾集中处理调整为随task逐步做 * MM45 fixp NZ出 + Vec上NzToNd * scatter过程中当两个相邻block的s2idx连续时,使用一次DataCopyPad一次写两个block * kernel 使用 'if constexpr'把确定性分支和非确定性分开,优化iCashiMiss ## 关联的Issue 关联Issue #2817 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6170 | 1 个月前 | |
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 | 25 天前 | |
sfag长序列优化 Co-authored-by: huzhipeng<huzhipeng17@h-partners.com> # message auto-generated for no-merge-commit merge: !6170 merge only_longseqop into master sfag长序列优化 Created-by: huzhipeng Commit-by: huzhipeng Merged-by: cann-robot Description: ## 描述 sfag长序列优化点 * scatter优化 优化后将 scatter 从t1末尾集中处理调整为随task逐步做 * MM45 fixp NZ出 + Vec上NzToNd * scatter过程中当两个相邻block的s2idx连续时,使用一次DataCopyPad一次写两个block * kernel 使用 'if constexpr'把确定性分支和非确定性分开,优化iCashiMiss ## 关联的Issue 关联Issue #2817 ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新特性 - [x] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6170 | 1 个月前 | |
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 | 25 天前 | |
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 | 25 天前 |