已关闭
[Bug-Report|缺陷反馈]: conv3d_v2 算子 mssanitizer 检测到 PIPE 同步缺失导致 WAW/RAW hazard #3802
wanyukang创建于 7月3日关闭于 7月3日
7月3日 添加了label:bug-report
wanyukang
7月3日 评论:
7月3日 评论:
已提交修复 PR:#6896


wanyukang
7月3日 评论:
7月3日 评论:
/assign


7月3日 将 wanyukang 设为负责人
7月3日 关闭了 issue
7月3日 关联了pull request:fix(conv3d_v2): fix MTE2 WAW and V pipe RAW hazards detected by mssanitizer
7月3日 关联了pull request:fix(conv3d_v2): fix MTE2 WAW and V pipe RAW hazards detected by mssanitizer
7月6日 添加了label:resolved
问题描述
mssanitizer 检测到 conv3d_v2 算子存在两处 PIPE 同步缺失导致的 hazard:
PIPE_MTE2 WAW(conv3d_v2 FP32/FP16 20 处):
conv3d_sub_api.hLoadChannelWiseL1函数InitConstValue先清零整个对齐 L1 块,随后DataCopy写入实际数据,两次 PIPE_MTE2 操作同一 L1 地址范围,缺少PipeBarrier<PIPE_MTE2>()PIPE_V RAW(Conv3DV2_INT8 66 处):
quant_conv3d_common_func.hVecCompute::Compute函数Cast将dstLocal转为transLocal后,TransFormat通过TransDataTo5HD读取transLocal,两次 PIPE_V 操作同一 UB,缺少PipeBarrier<PIPE_V>()环境信息
重现步骤
--mssanitizer编译 conv3d_v2 算子预期结果
mssanitizer 全量检测 0 error。
日志
WAW hazard 典型输出:
RAW hazard 典型输出:
备注
修复 PR:#6896