文件最后提交记录最后更新时间
修复gmm finalize routing prologue中shared input copyout后的同步问题 Co-authored-by: zhangzhizhuo<zhangzhizhuo1@huawei.com> # message auto-generated for no-merge-commit merge: !4438 merge fixgmmfr into master 修复gmm finalize routing prologue中shared input copyout后的同步问题 Created-by: zhangzhizhuo Commit-by: zhangzhizhuo Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 本次改动只涉及 gmm/common/cgmct/prologue/block_prologue_finalize_routing.h。 改动原因: 在 finalize routing prologue 的 double buffer 处理流程中,yLocal 在执行 CopyOutShareInput(*yLocal, outOffset + offset, curCount) 后,会继续参与后续的 ping-pong 复用。这里缺少显式的 PIPE_ALL 同步,存在 copyout 和后续 buffer 复用之间时序不够严格的风险,可能导致数据搬运与后续处理重叠。 改动方法: 在以下位置补充了一条同步屏障: CopyOutShareInput(*yLocal, outOffset + offset, curCount); 之后增加: AscendC::PipeBarrier<PIPE_ALL>(); 这样可以在当前 buffer 进入下一轮复用前,确保本轮 copyout 已完成,避免 double buffer 场景下的时序问题。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> 关联issue [#2005](https://gitcode.com/cann/ops-transformer/issues/2005) ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 门槛验证,算子泛化验证,二级冒烟。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> na ## 类型标签 <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!44381 个月前