已关闭
[Bug]: 调用ReduceSum高阶api的时候报读写内存越界问题,但是打印地址和空间大小,实际没有越界 #164
hjxbbbb创建于  7月28日关闭于  8月12日
hjxbbbb
hjxbbbb
7月28日 创建

芯片型号:A3
CANN cann-9.1.0
image.png

🐛 问题描述

image.png
我们在kernel中调用的代码:
LocalTensor<uint8_t> reduceTmp = reduceTmpBuf_.template Get<uint8_t>(); uint32_t srcShape[2] = {static_cast<uint32_t>(curN), static_cast<uint32_t>(curV)}; ReduceSum<float, AscendC::Pattern::Reduce::AR>(tileSum, xout, reduceTmp, srcShape, true); PipeBarrier<PIPE_V>();
初始化buf的代码:
int64_t alignRowFp32 = AlignUp32<float>(rowBlockMax_) * sizeof(float); pipe_->InitBuffer(tileSumBuf_, alignRowFp32); pipe_->InitBuffer(predictedBuf_, alignRowFp32); // ReduceSum(AR,float) sharedTmpBuffer:字节数由 host tiling 用官方 GetReduceSumMaxMinTmpSize 算好下发 pipe_->InitBuffer(reduceTmpBuf_, reduceTmpBytes_);

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
went_code
went_code成员
7月28日 评论:

👋 您好,欢迎向 MindStudio-Sanitizer 提交 Issue!
我们已收到您的反馈,感谢你对开源社区的支持。🎉

📅 处理时效 维护团队将在工作日 24 小时内查看并回复您的问题。
🔍 自助排查(推荐优先查看) 在等待回复期间,您可以先查阅以下资源,多数问题可快速解决:

💡 **为了更快定位问题,请您确保 Issue 包含:

  1. 清晰的问题描述
  2. 可复现的操作步骤
  3. 相关日志、截图或环境信息
    我们会尽快跟进,感谢您的理解与配合!
likedislike
ascend-robotascend-robot成员
7月28日 添加了label:bug
hjxbbbbhjxbbbb
7月28日 修改了issue 的描述
hjxbbbb
hjxbbbb
7月28日 评论:

image.png
在mindstudio_sanitizer_log中找到对应行号,显示:
REDUCE_OP, 757622, aiv-0, loc-3-37, 0x18468, dst:(addr:0x288c0;rptsride:1;blocksize:4;blocknum:1;align:4;rptlength:4;bits:32;bitsfactor:1);src:(addr:0x1e000;blockstride:1;rptstride:4;blocksize:32;blocknum:8;bits:32);repeat:5;maskmode:COUNT;vectormask:(0x0,0xffffffff), deviceId:5
其中maskmode不符合预期

likedislike
hjxbbbbhjxbbbb
7月28日 修改了issue 的描述
hjxbbbbhjxbbbb
7月28日 修改标题为 “[Bug]: 调用ReduceSum高阶api的时候报读写内存越界问题,但是打印地址和空间大小,实际没有越界”,原标题为“[Bug]: 调用ReduceSum高阶api的时候报内存越界问题,但是打印地址和空间大小,实际没有越界; 调用Exp api时报内存越界”
hjxbbbb
hjxbbbb
7月28日 评论:

ReduceSum API 底层调用vcadd,我打印了vcadd相关参数,信息如下:
image.png
RedeuceSum float32数据类型。
目的操作数地址:0x288c0,buf空间320B,vcadd repeatTimes=4 dstRepStride =1 (dstRepStride单位为4B)
4 * 1 * 4B = 16B < 320B
源操作数buf空间:40960B,vcadd repeatTimes=4 srcBlkStride=1(srcBlkStride单位为32B), srcRepStride=4 (srcRepStride单位为32B)
4 * 1 * 32B * 4 * 32B = 16,384B < 40960B

likedislike
hjxbbbb
hjxbbbb
7月28日 评论:

image.png

likedislike
Lliusa002成员
8月4日 将 lishuokp31 设为负责人
liusa002成员
8月4日 评论:

@hjxbbbb 你好,已分配开发责任人,近期会联系你确认问题。

likedislike
Lliusa002成员
8月4日 添加了label:triaged
Goldfish_of_Siris
Goldfish_of_Siris成员
8月5日 评论:

与issue提交者对齐为编译器问题,已定位确认解决

likedislike
Goldfish_of_SirisGoldfish_of_Siris成员
8月5日 添加了label:resolved
hjxbbbbhjxbbbb
8月12日 issue状态由 TODO 改变为 DONE
hjxbbbbhjxbbbb
8月12日 关闭了 issue