| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[IndexerQuantCache] 补齐 Tiling 校验、修复 MX-FP4 UB 预算及 GEIR 示例 Co-authored-by: chendunyang<chendunyang1@huawei.com> # message auto-generated for no-merge-commit merge: !12395 merge fix/indexer-static-followups-20260918 into master [IndexerQuantCache] 补齐 Tiling 校验、修复 MX-FP4 UB 预算及 GEIR 示例 Created-by: qq_37913898 Commit-by: chendunyang Merged-by: cann-robot Description: 修复 IndexerQuantCache 合法 MX-FP4 大 batch 的 UB 预算错误,补齐 Tiling 参数校验并修正 GEIR 示例。ACLNN 接口源码及其文档与基线完全一致;kernel 实现、TilingData 布局不改。 - Tiling:检查 rank、正 batch、维度乘积溢出、quantMode/dtype 配对、cache/scale 各自的正分页维度和容量乘积溢出和平台资源;按逻辑 shape 获取 cache 行宽。MX-FP4 按打包字节数、scale 64B 对齐和两个临时缓冲区计算 UB,容量不足时报错。 - 配置:修正 4 个 MX-FP8 预编译项的 quant_mode 为 0。 - GEIR 示例:修正 Data 节点名/index、FP16/BF16 数值生成、唯一合法 slot、FP4 打包分配和实际 dump 长度,支持四模式。 - 测试及文档:补齐主机校验 UT;Torch 示例使用唯一 slot,并说明 MX-FP8 E5M2 暂不支持。专项 TTK 资产保留在本地验证记录,不作为本 PR 新增文件。 实机失败复现:Ascend950PR_9579、CANN 9.1.0、56 AIV、UB 253952B。FP16 x=[65536,32]、FP4 E2M1、quantMode=3 在基线 0099fe1fe 上触发 VEC_ERROR,设备日志明确内部缓冲区越界;修正 UB 预算后,回放相同冻结输入/golden,cache 与 scale 均 binary_equal PASS。小 batch 对照前后均通过。 验证: - 分页容量兼容性:cache=[36,1,1,128]、cacheScale=[44,1,1,1]、x=[28,128]、slot=0..27,主线基线执行正确,先前的维度相等检查误拒;去掉相等要求后,新 Tiling 的两个完整输出逐字节正确。空 cacheScale、非法 dtype/模式仍拒绝;新增表驱动 UT 覆盖两 Tensor 各自的零分页维度和容量乘积溢出。 - 2026-09-21 收紧 ACLNN 改动后:仓库公共头文件优先的 ACLNN/Tiling/UT 编译检查通过,ACLNN 目标编译链接通过,主机 UT 25/25,全 PR pre-commit 通过。 - 实际两阶段 ACLNN 检查:4 个 Tensor 空指针仍在第一阶段返回 161001;空 cacheScale、非法 dtype 配对及非法模式在第一阶段返回成功,第二阶段返回 561103,日志确认被 Tiling 检查拒绝;合法 Normal 调用两阶段成功。移除入口配对检查后,不承诺这些非法参数仍直接返回 161002。 - 恢复主线 ACLNN 后四模式实机执行成功,cache/scale 共 8 个输出逐字节一致。 - 此前相同 Tiling/kernel 的全量回归:ACLNN、Kernel 各完成 590 条,均 587 PASS / 3 FAIL;Kernel 590 条动态越界检查通过。两通路失败的是相同 3 条 Normal BF16 极小输入,在相同 CANN 9.1 环境的主线基线包复现相同精度结果,不计为通过。历史全绿环境为 CANN 9.2,具体差异根因未定。 - 此前 GEIR TTK 8/8、实际 GEIR example 四模式双输出比较通过;UB 专项 5/5 通过。slot=-1 / 零行定向检查 80/80 通过,本 PR 不引入对应 kernel 改动。 修改保持单个 commit。未做性能 A/B,未重跑历史 66 条 L2 异常资产;远端完整 CI 结果另行确认。 2026-09-23 静态检查整改:3 处 memcpy 改为带返回值检查的 memcpy_s;Tiling、示例、UT 的所报数字改为具名常量;拆分 GEIR main,各新函数均少于 50 个非空非注释行。Tiling 还原常量名后与整改前源码一致,没有改变计算逻辑。编译、25 项主机 UT、非法 CLI 检查及 pre-commit 通过。四模式 GEIR 均执行成功,但本轮 HiFloat8 scale 未保持输入零值,未记为精度通过;相同环境运行修改前示例也复现,随后串行新旧示例双输出逐字节一致,具体原因待定位,本次不扩展 kernel 改动。 See merge request: cann/ops-transformer!12395 | 5 天前 | |
fix(indexer_quant_cache): 修复GEIR内存泄漏并补充数值golden Co-authored-by: chendunyang<chendunyang1@huawei.com> # message auto-generated for no-merge-commit merge: !11302 merge fix/indexer-quant-cache-geir-leak-golden into master fix(indexer_quant_cache): 修复GEIR内存泄漏并补充数值golden Created-by: qq_37913898 Commit-by: chendunyang Merged-by: cann-robot Description: ## 背景 - 修复 #4792 反馈的 GEIR 示例成功路径中 Session 未释放问题。 - 补充 IndexerQuantCache kernel UT 的真实数值 golden 校验,避免仅判断输出非零而漏检数值错误。 ## 修改内容 - 在 RunGraph 成功完成后、GEFinalize 前释放 Session,与失败路径的资源释放行为保持一致。 - 新增 Normal 量化分支的独立 golden 测试,覆盖 roundScale=true/false。 - 校验完整 cache 字节、float32 scale 位模式,以及 slotMapping=-1 时目标行保持不变。 - golden 使用固定字面值,与被测 kernel 的计算逻辑独立。 ## 验证结果 - pre-commit 全部通过(含 clang-format、codespell、OAT)。 - ascend950 opkernel UT:16/16 通过。 - GEIR 示例编译通过。 Closes #4792 See merge request: cann/ops-transformer!11302 | 23 天前 | |
新增kvCompressEpilog和indexerQunatCache算子 Co-authored-by: zhu-lei0614<zhulei113@huawei.com> # message auto-generated for no-merge-commit merge: !6519 merge master into master 新增kvCompressEpilog和indexerQunatCache算子 Created-by: zhu-lei0614 Commit-by: zhu-lei0614 Merged-by: cann-robot Description: ## 描述 新增kvCompressEpilog和indexerQunatCache算子 ## 关联的Issue 关联issue:https://gitcode.com/cann/ops-transformer/issues/3103 ## 测试 本地验证测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新特性 - [ ] ⚡ 性能优化 - [ ] ♻️ 重构 - [ ] 🧪 测试 - [ ] 📦 构建/CI - [ ] 🔧 配置变更 - [ ] 📝 文档更新 - [ ] ⬆️ 依赖升级 - [ ] 🔒 安全修复 - [ ] 🧹 代码清理 - [ ] ❓ 其他,请描述: See merge request: cann/ops-transformer!6519 | 3 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 23 天前 | ||
| 3 个月前 |