Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
将 InitMaskGm(tiling_.varInAxis, workspace) 改为 InitMaskGm(tiling_.varStorageInAxis, workspace),使 mask 初始化基于变量存储维度而非原始输入维度,避免非连续 initMaskGm 导致的问题。
ascend950
构造scatterNdUpdate 的非连续用例,打开确定性开关,执行用例打印日志,可以看到算子精度不对
构造scatterNdUpdate 的非连续用例,打开确定性开关,执行用例打印日志,算子精度正确
场景1: 8192+8192+8192+...+4736 (23条8192+1条4736) 在第12次调用时,长度是8192,前24个token正确写入,从25开始没有更新,都是0。 slot是[[2105,104],[2105,105],...,[2105,127],[2194,0],[2194,1]....],从[2194,0]开始没再写入
场景2: 6036+8192+8192+...+6892(1条6036+22条8192+1条6892) 在12次调用时,长度是8192,前4+128个token正确写入,但是从133开始就都是0,没有更新。 slot是[[2088,124],[2088,125],[2088,126],[2088,127],[2143,0],[2143,1],...,[2143,127],[2144,0]...],从[2144,0]开始没再写入
Thanks for sending an issue! Please fill in the following template to help quickly solve your problem.
Describe the current behavior / 问题描述 (Mandatory / 必填)
将 InitMaskGm(tiling_.varInAxis, workspace) 改为 InitMaskGm(tiling_.varStorageInAxis, workspace),使 mask 初始化基于变量存储维度而非原始输入维度,避免非连续 initMaskGm 导致的问题。
Environment / 环境信息 (Mandatory / 必填)
ascend950
Steps to reproduce the issue / 重现步骤 (Mandatory / 必填)
构造scatterNdUpdate 的非连续用例,打开确定性开关,执行用例打印日志,可以看到算子精度不对
Describe the expected behavior / 预期结果 (Mandatory / 必填)
构造scatterNdUpdate 的非连续用例,打开确定性开关,执行用例打印日志,算子精度正确
Related log / screenshot / 日志 / 截图 (Mandatory / 必填)
场景1:
8192+8192+8192+...+4736 (23条8192+1条4736)
在第12次调用时,长度是8192,前24个token正确写入,从25开始没有更新,都是0。
slot是[[2105,104],[2105,105],...,[2105,127],[2194,0],[2194,1]....],从[2194,0]开始没再写入
场景2:
6036+8192+8192+...+6892(1条6036+22条8192+1条6892)
在12次调用时,长度是8192,前4+128个token正确写入,但是从133开始就都是0,没有更新。
slot是[[2088,124],[2088,125],[2088,126],[2088,127],[2143,0],[2143,1],...,[2143,127],[2144,0]...],从[2144,0]开始没再写入
Special notes for this issue/备注 (Optional / 选填)