diff --git a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_dn.h b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_dn.h index 150a582743448ef9c1ecd2d6a49a31ae67cfdfc7..2bbdacf8384bbb6a0e0de3a8a907d3df725e055c 100644 --- a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_dn.h +++ b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_dn.h @@ -50,8 +50,9 @@ public: width); }); - static_assert(!IsStaticPaddingEnable(MM_CFG), "Unsupported Static Padding for DN2NZ."); - int64_t srcOffset = ((int64_t)row * (int64_t)gCol + (int64_t)col); + ASCENDC_ASSERT(IsStaticPaddingEnable(MM_CFG), + { KERNEL_LOG(KERNEL_ERROR, "Unsupported Static Padding for DN2NZ."); }); + int64_t srcOffset = (static_cast(row) * static_cast(gCol) + static_cast(col)); Dn2NzParams dn2nzParams; dn2nzParams.dnNum = dnNum; dn2nzParams.nValue = width; diff --git a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nd.h b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nd.h index 2df661eaf6bc2dad96232dbaf37e9af26cc7f8ee..1b861f61d8c8f724c4547077a69a553fe34ab955 100644 --- a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nd.h +++ b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nd.h @@ -64,9 +64,10 @@ public: } int64_t srcOffset; if constexpr (IsSupportB4()) { - srcOffset = ((int64_t)row * (int64_t)gCol * INT4_TWO + (int64_t)col); + srcOffset = (static_cast(row) * static_cast(gCol) * INT4_TWO + + static_cast(col) * INT4_TWO); } else { - srcOffset = ((int64_t)row * (int64_t)gCol + (int64_t)col); + srcOffset = (static_cast(row) * static_cast(gCol) + static_cast(col)); } Nd2NzParams nd2nzParams; nd2nzParams.ndNum = ndNum; @@ -121,7 +122,7 @@ public: DataCopyEnhancedParams enhancedParams; enhancedParams.blockMode = BlockMode::BLOCK_MODE_VECTOR; - int32_t srcStride = gCol * sizeof(SrcT) / ONE_BLK_SIZE - 1; + int32_t srcStride = gCol * static_cast(sizeof(SrcT)) / ONE_BLK_SIZE - 1; if (gCol % c0Size_ || srcStride >= UINT16_MAX) { // each block len is only 32B for (int32_t i = 0; i < calcWidth; i++) { diff --git a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nz.h b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nz.h index b26d9beda28088c48a6736b4e261983361ef620c..e57149e8a47184053c76b2cba458cd9e7796b46a 100644 --- a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nz.h +++ b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_nz.h @@ -72,7 +72,7 @@ public: { int calcWidth = CeilT(tileWidth, c0Size_) * c0Size_; int calcHigh = CeilT(tileHeight, c0Size_) * c0Size_; - int64_t size = calcHigh * calcWidth; + int64_t size = static_cast(calcHigh * calcWidth); LocalTensor rightMatrix = MATMUL_MODULE(LocalWorkspace)->GetND2NZWorkspace(0).template ReinterpretCast(); rightMatrix.SetSize(size); diff --git a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_using_ub_nd.h b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_using_ub_nd.h index 30228c84b49f30d77a7e230c97295f09f05ae6ab..79b6a454624270c278eb149e61235a63d345f932 100644 --- a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_using_ub_nd.h +++ b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_using_ub_nd.h @@ -43,7 +43,7 @@ public: const int col, const int height, const int width, const int gCol) { if constexpr (ToMatmulConfig(MM_CFG).enableL1CacheUB) { - static_assert(DoMatmulMDL(MM_CFG), "Only MDL version support L1CacheUB."); + ASCENDC_ASSERT(DoMatmulMDL(MM_CFG), { KERNEL_LOG(KERNEL_ERROR, "Only MDL version support L1CacheUB."); }); } int calcWidth = CeilT(width, c0Size_); bool isBankConflict = @@ -86,7 +86,7 @@ public: } if constexpr (IsSameTypeV && IsSameTypeV) { - static_assert(DoMatmulMDL(MM_CFG), "Only MDL version support AntiQuant."); + ASCENDC_ASSERT(DoMatmulMDL(MM_CFG), { KERNEL_LOG(KERNEL_ERROR, "Only MDL version support AntiQuant."); }); if (!MATMUL_MODULE(CopyCubeInParams)->IsTranspose()) { enQueEvtID = GetTPipePtr()->FetchEventID(HardEvent::MTE2_S); SetFlag(enQueEvtID); @@ -225,10 +225,10 @@ public: tail = CeilT(tail, DIV_TWO); } } - uint16_t mask_tail_16bit = ~((1 << tail) - 1); - uint64_t mask_tail_64bit = mask_tail_16bit; - mask[0] = mask_tail_64bit + (mask_tail_64bit << FIRST_16BIT_OFFSET_MM_API) + - (mask_tail_64bit << SECOND_16BIT_OFFSET_MM_API) + (mask_tail_64bit << THIRD_16BIT_OFFSET_MM_API); + uint16_t maskTail16bit = ~((1 << tail) - 1); + uint64_t maskTail64bit = static_cast(maskTail16bit); + mask[0] = maskTail64bit + (maskTail64bit << FIRST_16BIT_OFFSET_MM_API) + + (maskTail64bit << SECOND_16BIT_OFFSET_MM_API) + (maskTail64bit << THIRD_16BIT_OFFSET_MM_API); mask[1] = mask[0]; constexpr int32_t DUP_CEIL_NUM = 8; if constexpr (IsSameTypeV) { diff --git a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_utils.h b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_utils.h index d894cd24eb4b47349aedb308130157deeae84375..4b021c96b7b747e65c3d98c99cc17bfbc9846ecb 100644 --- a/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_utils.h +++ b/impl/matmul/stage/copy_cube_in/copy_tile_to_cube/data_copy_wrapper_utils.h @@ -37,14 +37,14 @@ __aicore__ inline void NDPadZeroForWidth(LocalTensor& dst, const int hei { constexpr int32_t c0Size_ = AuxGetC0Size(); - uint16_t mask_tail_16bit = ~((1 << tail) - 1); - uint64_t mask_tail_64bit = mask_tail_16bit; - if (mask_tail_64bit == 0) { + uint16_t maskTail16bit = ~((1 << tail) - 1); + uint64_t maskTail64bit = static_cast(maskTail16bit); + if (maskTail64bit == 0) { return; } uint64_t mask[2]; - mask[0] = mask_tail_64bit + (mask_tail_64bit << FIRST_16BIT_OFFSET_MM_API) + - (mask_tail_64bit << SECOND_16BIT_OFFSET_MM_API) + (mask_tail_64bit << THIRD_16BIT_OFFSET_MM_API); + mask[0] = maskTail64bit + (maskTail64bit << FIRST_16BIT_OFFSET_MM_API) + + (maskTail64bit << SECOND_16BIT_OFFSET_MM_API) + (maskTail64bit << THIRD_16BIT_OFFSET_MM_API); mask[1] = mask[0]; int stride = calcWidth * (c0Size_ * sizeof(TransT) / DEFAULT_C0_SIZE); int32_t totalRep = CeilT(height, REPEAT_BLOCK_NUM_MM_API);