| Files | Last commit | Last update |
|---|---|---|
[fix] 修复TopKV2 Scalar到Vector同步精度问题 Co-authored-by: zhanghedong<zhanghedong@huawei.com> Co-authored-by: ConanHuang<huangxiaobin1@huawei.com> # message auto-generated for no-merge-commit merge: !4961 merge fix/sortwithindex-vsf-sync into master [fix] 修复TopKV2 Scalar到Vector同步精度问题 Created-by: zhanghedong Commit-by: ConanHuang;zhanghedong Merged-by: cann-robot Description: ## 描述 本 PR 主要针对昇腾算子内核中统一缓存(UB)缓冲区的数据竞争问题,通过在关键写读节点之间显式插入标量/向量事件同步( SetFlag/WaitFlag),确保数据写入完成后再被读取,从而避免未定义行为。改动涉及 math/sort_with_index/op_kernel/arch35/radix_sort_with_index_multi_block.h 与 math/top_k_v2/op_kernel/arch35/radix_sort_top_k.h 两个文件,均只增加同步代码,无删除行。 **主要改动** - **radix_sort_with_index_multi_block.h 增加 HardEvent::V_S 同步**: 在 ScatterKeysGlobal 调用之后、释放 xIndexLocal 之前,通过 FetchEventID、SetFlag<HardEvent::V_S>、WaitFlag<HardEvent::V_S> 插入向量到标量的同步点,防止 UB 缓冲区的写后读竞争。 - **radix_sort_top_k.h 增加 HardEvent::S_V 同步**: 在计算 remainTileTopkValue_ 之后、执行 CopyUb2Ub 之前,通过 FetchEventID、SetFlag<HardEvent::S_V>、WaitFlag<HardEvent::S_V> 插入标量到向量的同步点,确保标量计算结果就绪后再被向量搬运操作使用。 - **两处同步均采用事件 ID 配对机制**: 两次改动都遵循先 FetchEventID 获取事件号、再 SetFlag 置位、后 WaitFlag 等待的完整配对流程,以相同模式在数据生产与消费之间建立可靠的硬件事件屏障。 ## 关联的Issue https://gitcode.com/cann/ops-math/issues/2641 ## 测试 UT,ST,二级冒烟测试通过 ## 文档更新 不涉及 ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!4961 | 2 months ago | |
优化SortwithIndex支持输出索引类型为int64 Co-authored-by: caoyan_huawei<caoyan11@huawei.com> # message auto-generated for no-merge-commit merge: !1499 merge topk_int64_tumoshi into master 优化SortwithIndex支持输出索引类型为int64 Created-by: caoyan_huawei Commit-by: caoyan_huawei Merged-by: cann-robot Description: ## 描述 优化SortWithIndex算子,区分SingleBlock和MultiCore场景,避免tiling和实际运行的模板不一致。 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 ST全量测试通过 ## 文档更新 不涉及。 ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1499 | 8 months ago |
| Files | Last commit | Last update |
|---|---|---|
| 2 months ago | ||
| 8 months ago |