Merged
修复CCE指令参数传输错误的问题 #4379
leozjrAdd on Jul 15
修复CCE指令参数传输错误的问题 #4379
Merged
Merged fromDeleted :fix/cce-param-9.1.0intocann/asc-devkit9.1.0
Total: 5 files changed+105-30
| @@ -23,7 +23,7 @@ __aicore__ inline void asc_copy_gm2l1_impl(__cbuf__ void* dst, __gm__ void* src, | |||
| 23 | uint64_t src_stride, uint32_t dst_stride) | 23 | uint64_t src_stride, uint32_t dst_stride) |
| 24 | { | 24 | { |
| 25 | if ASC_IS_AIC { | 25 | if ASC_IS_AIC { |
| 26 | - copy_gm_to_cbuf_v2(dst, src, 0, n_burst, len_burst, pad_func_mode, src_stride, dst_stride); | 26 | + copy_gm_to_cbuf_v2(dst, src, 0, n_burst, len_burst, pad_func_mode, 0, src_stride, dst_stride); |
| 27 | } | 27 | } |
| 28 | } | 28 | } |
| 29 | 29 | ||
| @@ -28,9 +28,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ half* dst, __cc__ float* sr | |||
| 28 | bool c0_pad_en) | 28 | bool c0_pad_en) |
| 29 | { | 29 | { |
| 30 | if ASC_IS_AIC { | 30 | if ASC_IS_AIC { |
| 31 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 31 | + copy_matrix_cc_to_cbuf( |
| 32 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 32 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 33 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 33 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 34 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 35 | + false, c0_pad_en, false, false, false); | ||
| 34 | } | 36 | } |
| 35 | } | 37 | } |
| 36 | 38 | ||
| @@ -44,9 +46,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ int8_t* dst, __cc__ float* | |||
| 44 | bool c0_pad_en) | 46 | bool c0_pad_en) |
| 45 | { | 47 | { |
| 46 | if ASC_IS_AIC { | 48 | if ASC_IS_AIC { |
| 47 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 49 | + copy_matrix_cc_to_cbuf( |
| 48 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 50 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 49 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 51 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 52 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 53 | + false, c0_pad_en, false, false, false); | ||
| 50 | } | 54 | } |
| 51 | } | 55 | } |
| 52 | 56 | ||
| @@ -60,9 +64,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ uint8_t* dst, __cc__ float* | |||
| 60 | bool c0_pad_en) | 64 | bool c0_pad_en) |
| 61 | { | 65 | { |
| 62 | if ASC_IS_AIC { | 66 | if ASC_IS_AIC { |
| 63 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 67 | + copy_matrix_cc_to_cbuf( |
| 64 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 68 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 65 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 69 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 70 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 71 | + false, c0_pad_en, false, false, false); | ||
| 66 | } | 72 | } |
| 67 | } | 73 | } |
| 68 | 74 | ||
| @@ -75,9 +81,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ float* dst, __cc__ float* s | |||
| 75 | bool c0_pad_en) | 81 | bool c0_pad_en) |
| 76 | { | 82 | { |
| 77 | if ASC_IS_AIC { | 83 | if ASC_IS_AIC { |
| 78 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 84 | + copy_matrix_cc_to_cbuf( |
| 79 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 85 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 80 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 86 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 87 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 88 | + false, c0_pad_en, false, false, false); | ||
| 81 | } | 89 | } |
| 82 | } | 90 | } |
| 83 | 91 | ||
| @@ -90,9 +98,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ half* dst, __cc__ int32_t* | |||
| 90 | bool c0_pad_en) | 98 | bool c0_pad_en) |
| 91 | { | 99 | { |
| 92 | if ASC_IS_AIC { | 100 | if ASC_IS_AIC { |
| 93 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 101 | + copy_matrix_cc_to_cbuf( |
| 94 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 102 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 95 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 103 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 104 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 105 | + false, c0_pad_en, false, false, false); | ||
| 96 | } | 106 | } |
| 97 | } | 107 | } |
| 98 | 108 | ||
| @@ -105,9 +115,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ int8_t* dst, __cc__ int32_t | |||
| 105 | bool c0_pad_en) | 115 | bool c0_pad_en) |
| 106 | { | 116 | { |
| 107 | if ASC_IS_AIC { | 117 | if ASC_IS_AIC { |
| 108 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 118 | + copy_matrix_cc_to_cbuf( |
| 109 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 119 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 110 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 120 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 121 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 122 | + false, c0_pad_en, false, false, false); | ||
| 111 | } | 123 | } |
| 112 | } | 124 | } |
| 113 | 125 | ||
| @@ -120,9 +132,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ uint8_t* dst, __cc__ int32_ | |||
| 120 | bool c0_pad_en) | 132 | bool c0_pad_en) |
| 121 | { | 133 | { |
| 122 | if ASC_IS_AIC { | 134 | if ASC_IS_AIC { |
| 123 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 135 | + copy_matrix_cc_to_cbuf( |
| 124 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 136 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 125 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 137 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 138 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 139 | + false, c0_pad_en, false, false, false); | ||
| 126 | } | 140 | } |
| 127 | } | 141 | } |
| 128 | 142 | ||
| @@ -135,9 +149,11 @@ __aicore__ inline void asc_copy_l0c2l1_impl(__cbuf__ int32_t* dst, __cc__ int32_ | |||
| 135 | bool c0_pad_en) | 149 | bool c0_pad_en) |
| 136 | { | 150 | { |
| 137 | if ASC_IS_AIC { | 151 | if ASC_IS_AIC { |
| 138 | - copy_matrix_cc_to_cbuf(dst, src, 0, n_size, m_size, dst_stride, src_stride, clip_relu_pre, unit_flag_mode, | 152 | + copy_matrix_cc_to_cbuf( |
| 139 | - static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, static_cast<QuantMode_post>(quant_post), | 153 | + dst, src, 0, n_size, m_size, dst_stride, src_stride, 0, clip_relu_pre, unit_flag_mode, |
| 140 | - relu_post, clip_relu_post, eltwise_op, eltwise_antq_en, c0_pad_en); | 154 | + static_cast<QuantMode_t>(quant_pre), relu_pre, channel_split, nz2nd_en, |
| 155 | + static_cast<QuantMode_post>(quant_post), relu_post, clip_relu_post, false, eltwise_op, eltwise_antq_en, | ||
| 156 | + false, c0_pad_en, false, false, false); | ||
| 141 | } | 157 | } |
| 142 | } | 158 | } |
| 143 | 159 | ||
| @@ -91,13 +91,14 @@ TEST_CUBE_DATAMOVE_GM2L1(GM2L1, asc_copy_gm2l1, load_gm_to_cbuf_2dv2_s4, void); | |||
| 91 | 91 | ||
| 92 | 92 | ||
| 93 | __aicore__ inline void copy_gm_to_cbuf_v2_stub(__cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, | 93 | __aicore__ inline void copy_gm_to_cbuf_v2_stub(__cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, |
| 94 | - uint64_t src_stride, uint32_t dst_stride) { | 94 | + uint8_t l2_cache_ctl, uint64_t src_stride, uint32_t dst_stride) { |
| 95 | EXPECT_EQ(dst, reinterpret_cast<__cbuf__ void *>(11)); | 95 | EXPECT_EQ(dst, reinterpret_cast<__cbuf__ void *>(11)); |
| 96 | EXPECT_EQ(src, reinterpret_cast<__gm__ void *>(22)); | 96 | EXPECT_EQ(src, reinterpret_cast<__gm__ void *>(22)); |
| 97 | EXPECT_EQ(sid, static_cast<uint8_t>(0)); | 97 | EXPECT_EQ(sid, static_cast<uint8_t>(0)); |
| 98 | EXPECT_EQ(n_burst, static_cast<uint32_t>(33)); | 98 | EXPECT_EQ(n_burst, static_cast<uint32_t>(33)); |
| 99 | EXPECT_EQ(len_burst, static_cast<uint32_t>(44)); | 99 | EXPECT_EQ(len_burst, static_cast<uint32_t>(44)); |
| 100 | EXPECT_EQ(pad_func_mode, static_cast<uint8_t>(55)); | 100 | EXPECT_EQ(pad_func_mode, static_cast<uint8_t>(55)); |
| 101 | + EXPECT_EQ(l2_cache_ctl, static_cast<uint8_t>(0)); | ||
| 101 | EXPECT_EQ(src_stride, static_cast<uint64_t>(66)); | 102 | EXPECT_EQ(src_stride, static_cast<uint64_t>(66)); |
| 102 | EXPECT_EQ(dst_stride, static_cast<uint64_t>(77)); | 103 | EXPECT_EQ(dst_stride, static_cast<uint64_t>(77)); |
| 103 | } | 104 | } |
| @@ -115,7 +116,7 @@ protected: | |||
| 115 | TEST_F(TEST_COPY_GM_TO_L1, TEST_COPY_GM_TO_L1) | 116 | TEST_F(TEST_COPY_GM_TO_L1, TEST_COPY_GM_TO_L1) |
| 116 | { | 117 | { |
| 117 | MOCKER_CPP(copy_gm_to_cbuf_v2, void(__cbuf__ void*, __gm__ void*, uint8_t, uint32_t, uint32_t, uint8_t, | 118 | MOCKER_CPP(copy_gm_to_cbuf_v2, void(__cbuf__ void*, __gm__ void*, uint8_t, uint32_t, uint32_t, uint8_t, |
| 118 | - uint64_t, uint32_t)) | 119 | + uint8_t, uint64_t, uint32_t)) |
| 119 | .times(1) | 120 | .times(1) |
| 120 | .will(invoke(copy_gm_to_cbuf_v2_stub)); | 121 | .will(invoke(copy_gm_to_cbuf_v2_stub)); |
| 121 | 122 | ||
| @@ -135,7 +136,7 @@ TEST_F(TEST_COPY_GM_TO_L1, TEST_COPY_GM_TO_L1) | |||
| 135 | TEST_F(TEST_COPY_GM_TO_L1, TEST_COPY_GM_TO_L1_SYNC) | 136 | TEST_F(TEST_COPY_GM_TO_L1, TEST_COPY_GM_TO_L1_SYNC) |
| 136 | { | 137 | { |
| 137 | MOCKER_CPP(copy_gm_to_cbuf_v2, void(__cbuf__ void*, __gm__ void*, uint8_t, uint32_t, uint32_t, uint8_t, | 138 | MOCKER_CPP(copy_gm_to_cbuf_v2, void(__cbuf__ void*, __gm__ void*, uint8_t, uint32_t, uint32_t, uint8_t, |
| 138 | - uint64_t, uint32_t)) | 139 | + uint8_t, uint64_t, uint32_t)) |
| 139 | .times(1) | 140 | .times(1) |
| 140 | .will(invoke(copy_gm_to_cbuf_v2_stub)); | 141 | .will(invoke(copy_gm_to_cbuf_v2_stub)); |
| 141 | 142 | ||
| @@ -66,6 +66,64 @@ using float8_e5m2_t = fp8_e5m2_t; | |||
| 66 | using float4_e1m2x2_t = fp4x2_e1m2_t; | 66 | using float4_e1m2x2_t = fp4x2_e1m2_t; |
| 67 | using float4_e2m1x2_t = fp4x2_e2m1_t; | 67 | using float4_e2m1x2_t = fp4x2_e2m1_t; |
| 68 | 68 | ||
| 69 | +// ==========copy_matrix_cc_to_cbuf (25 params)=========== | ||
| 70 | +inline void copy_matrix_cc_to_cbuf( | ||
| 71 | + __cbuf__ half* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 72 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 73 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 74 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 75 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 76 | +{} | ||
| 77 | +inline void copy_matrix_cc_to_cbuf( | ||
| 78 | + __cbuf__ int8_t* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 79 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 80 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 81 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 82 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 83 | +{} | ||
| 84 | +inline void copy_matrix_cc_to_cbuf( | ||
| 85 | + __cbuf__ uint8_t* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 86 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 87 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 88 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 89 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 90 | +{} | ||
| 91 | +inline void copy_matrix_cc_to_cbuf( | ||
| 92 | + __cbuf__ float* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 93 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 94 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 95 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 96 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 97 | +{} | ||
| 98 | +inline void copy_matrix_cc_to_cbuf( | ||
| 99 | + __cbuf__ half* dst_addr, __cc__ int32_t* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 100 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 101 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 102 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 103 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 104 | +{} | ||
| 105 | +inline void copy_matrix_cc_to_cbuf( | ||
| 106 | + __cbuf__ int8_t* dst_addr, __cc__ int32_t* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 107 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 108 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 109 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 110 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 111 | +{} | ||
| 112 | +inline void copy_matrix_cc_to_cbuf( | ||
| 113 | + __cbuf__ uint8_t* dst_addr, __cc__ int32_t* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 114 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 115 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 116 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 117 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 118 | +{} | ||
| 119 | +inline void copy_matrix_cc_to_cbuf( | ||
| 120 | + __cbuf__ int32_t* dst_addr, __cc__ int32_t* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | ||
| 121 | + uint32_t loop_dst_stride, uint16_t loop_src_stride, uint8_t l2_cache_ctl, uint8_t clip_relu_pre, | ||
| 122 | + uint8_t unit_flag_ctl, uint64_t quant_pre, uint8_t relu_pre, bool split_en, bool NZ2ND_en, uint64_t quant_post, | ||
| 123 | + uint8_t relu_post, bool clip_relu_post, bool loop_enhance_en, uint8_t eltwise_op, bool eltwise_antq_en, | ||
| 124 | + bool loop_enhance_merge_en, bool C0_pad_en, bool wino_post_en, bool broadcast_en, bool NZ2DN_en) | ||
| 125 | +{} | ||
| 126 | + | ||
| 69 | // ==========copy_matrix_cc_to_cbuf_s4=========== | 127 | // ==========copy_matrix_cc_to_cbuf_s4=========== |
| 70 | inline void copy_matrix_cc_to_cbuf_s4( | 128 | inline void copy_matrix_cc_to_cbuf_s4( |
| 71 | __cbuf__ void* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, | 129 | __cbuf__ void* dst_addr, __cc__ float* src_addr, uint8_t sid, uint16_t n_size, uint16_t m_size, |
| @@ -501,7 +559,7 @@ inline void vbr(vector_f8e8m0& dst, fp8_e8m0_t value) {} | |||
| 501 | 559 | ||
| 502 | inline void copy_gm_to_cbuf_v2( | 560 | inline void copy_gm_to_cbuf_v2( |
| 503 | __cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, | 561 | __cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, |
| 504 | - uint64_t src_stride, uint32_t dst_stride) | 562 | + uint8_t l2_cache_ctl, uint64_t src_stride, uint32_t dst_stride) |
| 505 | {} | 563 | {} |
| 506 | inline void img2colv2_cbuf_to_ca( | 564 | inline void img2colv2_cbuf_to_ca( |
| 507 | __ca__ int16_t* dst, __cbuf__ int16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, | 565 | __ca__ int16_t* dst, __cbuf__ int16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, |
| @@ -438,7 +438,7 @@ inline void vbr(vector_f8e4m3& dst, fp8_e4m3fn_t value) {} | |||
| 438 | inline void vbr(vector_f8e5m2& dst, fp8_e5m2_t value) {} | 438 | inline void vbr(vector_f8e5m2& dst, fp8_e5m2_t value) {} |
| 439 | inline void vbr(vector_f8e8m0& dst, fp8_e8m0_t value) {} | 439 | inline void vbr(vector_f8e8m0& dst, fp8_e8m0_t value) {} |
| 440 | 440 | ||
| 441 | -inline void copy_gm_to_cbuf_v2(__cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, uint64_t src_stride, uint32_t dst_stride) {} | 441 | +inline void copy_gm_to_cbuf_v2(__cbuf__ void* dst, __gm__ void* src, uint8_t sid, uint32_t n_burst, uint32_t len_burst, uint8_t pad_func_mode, uint8_t l2_cache_ctl, uint64_t src_stride, uint32_t dst_stride) {} |
| 442 | inline void img2colv2_cbuf_to_ca(__ca__ int16_t* dst, __cbuf__ int16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, uint8_t stride_w, uint8_t stride_h, uint8_t w_k, | 442 | inline void img2colv2_cbuf_to_ca(__ca__ int16_t* dst, __cbuf__ int16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, uint8_t stride_w, uint8_t stride_h, uint8_t w_k, |
| 443 | uint8_t h_k, uint8_t dilation_w, uint8_t dilation_h, bool filter_w, bool filter_h, bool transpose, bool fmatrix_ctrl, uint16_t size_channel) {} | 443 | uint8_t h_k, uint8_t dilation_w, uint8_t dilation_h, bool filter_w, bool filter_h, bool transpose, bool fmatrix_ctrl, uint16_t size_channel) {} |
| 444 | inline void img2colv2_cbuf_to_ca(__ca__ uint16_t* dst, __cbuf__ uint16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, uint8_t stride_w, uint8_t stride_h, uint8_t w_k, | 444 | inline void img2colv2_cbuf_to_ca(__ca__ uint16_t* dst, __cbuf__ uint16_t* src, uint16_t step_k, uint16_t step_m, uint16_t pos_k, uint16_t pos_m, uint8_t stride_w, uint8_t stride_h, uint8_t w_k, |