Closed
[Bug-Report|缺陷反馈]: RaggedBinCount 长加权精度超差及 GE splits 校验缺失 #4422
raoliang_sacAdd on 7 days agoClosed at 7 days ago
Rraoliang_sac
7 days ago Change title to "[Bug-Report|缺陷反馈]: RaggedBinCount 长加权精度超差及 GE splits 校验缺失", originally titled "[Bug-Report|缺陷反馈]: RaggedBinCount 长加权输入默认模式精度超差".
7 days ago Change title to "[Bug-Report|缺陷反馈]: RaggedBinCount 长加权精度超差及 GE splits 校验缺失", originally titled "[Bug-Report|缺陷反馈]: RaggedBinCount 长加权输入默认模式精度超差".
7 days ago Modify description of issue
7 days ago Modify description of issue
7 days ago Modify description of issue
7 days ago Modify description of issue
陈思
7 days ago Comments:
7 days ago Comments:
/assign @raoliang_sac


7 days ago Assign raoliang_sac as responsible person
7 days ago Close issue
7 days ago Added label: resolved
一、问题描述(必填)
RaggedBinCount 默认模式的长加权 FP32 累加出现精度超差。原记录中 L1_224、228、235、259、341、351、357、368、441、520、522 共 11 条,在官方 master c47568d3 上用原冻结输入全部复现。默认 ROW/VALUE 路径的 FP32 原子累加会积累舍入误差;例如 L1_441 最大绝对误差约 14.29,而该例混合容差硬上限为 2。
另外,原异常用例 L2_exc_constraint_030 的 splits=[0] 只有一个元素,却在 GEIR 返回空输出并成功结束,绕过已有 native InferShape/Tiling 的最少两个元素约束。新增图早期只读 verifier 后,长度 0/1 被拒绝,合法与未知长度继续使用现有推导。
二、环境信息(可选)
三、重现步骤(可选)
构建安装主线 RaggedBinCount,使用 values=int32 或 int64、64 行每行 4096 个零值、splits=[0,4096,...,262144]、size=[1]、weights 全为 FP32 0.1、binary_output=false。在默认模式下通过 TTK kernel binary 通路执行,显式 --pc=1 --dl=0 --compare=mixed --golden-mode=Promote。最小用例在主线失败,在修复版本通过;两种 dtype 的小型回归已加入现有 ST CSV。
四、预期结果(可选)
默认模式按既定混合容差通过;原 11 条用例使用相同输入、原 golden 和原精度标准复测通过。性能按本次要求的同带宽折合 0.1 验收。
默认高精度路由仅覆盖 direct/partials/integer-histogram 有界子路径,超大稀疏输出保留原映射,避免无 workspace 时逐输出重扫。新增 3 条实际 GPU 三方稀疏边界均通过,折合最小 0.854664;原 11 条折合最小 0.786211。最终受测提交 58054666b6d248a8246dac86ac0b5536a761232d,指定统一入口 950/910B 本地 CI 通过,实际 UT 共 149 条。
修复 PR:https://gitcode.com/cann/ops-math/merge_requests/7037
对应线上 run6502 已由 compile评论197755522 触发,源提交为上述本地CI受测SHA;现已全部通过,54个任务节点COMPLETED,PR HEAD与本地CI受测SHA一致。