在 norm/add_rms_norm/op_kernel/add_rms_norm_base.h 第 131 行,代码使用了未定义的变量 numPerBlock,实际应使用第 113 行定义的 customNumPerBlock。
norm/add_rms_norm/op_kernel/add_rms_norm_base.h
numPerBlock
customNumPerBlock
文件:norm/add_rms_norm/op_kernel/add_rms_norm_base.h
// 第 113 行定义 int32_t customNumPerBlock = ONE_BLK_SIZE / sizeof(T); // 第 125-131 行 for (int32_t i = 0; i < customNumPerBlock; i++) { T tensorValue = srcTensor.GetValue(count - customNumPerBlock + i); srcTensor.SetValue(i, tensorValue); } SetFlag<HardEvent::S_MTE3>(EVENT_ID0); WaitFlag<HardEvent::S_MTE3>(EVENT_ID0); DataCopy(dstTensor[count - numPerBlock], srcTensor, numPerBlock); // 第131行:numPerBlock 未定义!
将第 131 行的 numPerBlock 替换为 customNumPerBlock:
DataCopy(dstTensor[count - customNumPerBlock], srcTensor, customNumPerBlock);
高(可能导致编译错误或运行时未定义行为)
问题描述
在
norm/add_rms_norm/op_kernel/add_rms_norm_base.h第 131 行,代码使用了未定义的变量numPerBlock,实际应使用第 113 行定义的customNumPerBlock。问题位置
文件:
norm/add_rms_norm/op_kernel/add_rms_norm_base.h错误代码
// 第 113 行定义 int32_t customNumPerBlock = ONE_BLK_SIZE / sizeof(T); // 第 125-131 行 for (int32_t i = 0; i < customNumPerBlock; i++) { T tensorValue = srcTensor.GetValue(count - customNumPerBlock + i); srcTensor.SetValue(i, tensorValue); } SetFlag<HardEvent::S_MTE3>(EVENT_ID0); WaitFlag<HardEvent::S_MTE3>(EVENT_ID0); DataCopy(dstTensor[count - numPerBlock], srcTensor, numPerBlock); // 第131行:numPerBlock 未定义!修复建议
将第 131 行的
numPerBlock替换为customNumPerBlock:DataCopy(dstTensor[count - customNumPerBlock], srcTensor, customNumPerBlock);严重程度
高(可能导致编译错误或运行时未定义行为)