已合并
问题修复:ExtendConvTranspose算子修复A16W8场景下部分case AIC问题 #8626
sunlesheng创建于 20 天前
问题修复:ExtendConvTranspose算子修复A16W8场景下部分case AIC问题 #8626
已合并
sunlesheng创建于 20 天前
1 个文件变更+10-3
@@ -109,9 +109,16 @@ void Conv3DDXV2SmallKernelTiling::InitBaseMNK(L0TilingParams& l0Params)
109 109 
110 uint32_t kIter = static_cast<uint32_t>(Ops::Base::CeilDiv(kTotal, static_cast<uint64_t>(l0Params.baseK)));110 uint32_t kIter = static_cast<uint32_t>(Ops::Base::CeilDiv(kTotal, static_cast<uint64_t>(l0Params.baseK)));
111 if (kIter >= TWO_U32) {111 if (kIter >= TWO_U32) {
112- l0Params.al0Pbuffer = DB_ON;112+ // 开启DB前校验: DB后L0a/L0b至少需容纳k0, 否则calcMaxBaseK内强制对齐k0会导致L0溢出
S

还会有容纳不下k0的情况吗?

likedislike
sunlesheng
sunlesheng
14 天前 评论:
113- l0Params.bl0Pbuffer = DB_ON;113+ uint32_t maxBaseKByL0aDb = static_cast<uint32_t>(platformInfo_.l0_ab_size / DB_ON / dtypeByteL0a_ /
114- l0Params.baseK = calcMaxBaseK();114+ l0Params.baseM);
115+ uint32_t maxBaseKByL0bDb = static_cast<uint32_t>(platformInfo_.l0_ab_size / DB_ON / dtypeByteL0b_ /
116+ l0Params.baseN);
117+ if (maxBaseKByL0aDb >= tilingRunInfo_.k0 && maxBaseKByL0bDb >= tilingRunInfo_.k0) {
118+ l0Params.al0Pbuffer = DB_ON;
119+ l0Params.bl0Pbuffer = DB_ON;
120+ l0Params.baseK = calcMaxBaseK();
121+ }
115 }122 }
116}123}
117 124