1616
1717namespace snps_arc ::metaware::mli::ref {
1818
19+ /* *
20+ * @deprecated
21+ */
1922TransposeConv2D_CS::TransposeConv2D_CS (
20- const lib_mli:: PlatformDescription pd,
23+ const PlatformDescription pd,
2124 const TensorIterator<NoBuffer, kTransposeConvIORank , kTransposeConvIOIterRank > &input,
2225 const TensorIterator<NoBuffer, kTransposeConvWRank , kTransposeConvWIterRank > &weights,
2326 const TensorIterator<NoBuffer, kTransposeConvZPRank , kTransposeConvZPIterRank > &weights_zp,
@@ -29,36 +32,48 @@ TransposeConv2D_CS::TransposeConv2D_CS(
2932 m_output(output),
3033 m_config(cfg),
3134 m_pd(pd) {
35+ DEPRECATED_METHOD
3236 m_inp_quant_axis = kPerTensorQuantDim ;
3337 m_wts_quant_axis = kKernelChannelOutDim ;
38+ m_weights_buffer_size = service::GetBufferSize (weights.get_tensor ());
39+ }
40+
41+ TransposeConv2D_CS::TransposeConv2D_CS (const PlatformDescription pd,
42+ const TensorIterator<NoBuffer, kTransposeConvIORank , kTransposeConvIterRank >& input,
43+ const TensorIterator<NoBuffer, kTransposeConvZPRank , kTransposeConvIterRank >& input_zp,
44+ const TensorIterator<NoBuffer, kTransposeConvWRank , kTransposeConvIterRank >& weights,
45+ const TensorIterator<NoBuffer, kTransposeConvZPRank , kTransposeConvIterRank >& weights_zp,
46+ const TransposeConv2DConfig& cfg,
47+ const TensorIterator<NoBuffer, kTransposeConvIORank , kTransposeConvIOIterRank >& output)
48+ : m_input(input),
49+ m_weights(weights),
50+ m_weights_zp(weights_zp),
51+ m_output(output),
52+ m_config(cfg),
53+ m_pd(pd) {
54+ m_inp_quant_axis = kPerTensorQuantDim ;
55+ m_wts_quant_axis = kKernelChannelOutDim ;
56+ m_weights_buffer_size = service::GetBufferSize (weights.get_tensor ());
3457}
3558
3659unsigned TransposeConv2D_CS::GetKernelPrivateDataSize () const {
3760 return sizeof (TransposeConv2DPrivateData);
3861}
3962
4063unsigned TransposeConv2D_CS::GetRuntimeObjectSize () const {
41- return sizeof (Conv2d );
64+ return sizeof (TransposeConv2D );
4265}
4366
4467mli_status TransposeConv2D_CS::GetKernelPrivateData (
4568 void *kernel_private_data_buffer) {
46- MLI_ASSERT (kernel_private_data_buffer != nullptr );
47-
48- // Batch checking
49- MLI_ASSERT (m_input.get_dim (mli::kGroupTensorBatchDim ) == 1 );
50-
51- // Channel checking
52- MLI_ASSERT (m_weights.get_dim (mli::kKernelChannelOutDim ) ==
53- m_output.get_dim (mli::kGroupTensorChannelDim ));
54-
55- MLI_ASSERT (m_weights.get_dim (mli::kKernelChannelInDim ) ==
56- m_input.get_dim (mli::kGroupTensorChannelDim ));
5769
58- // Group checking
59- MLI_ASSERT (m_weights.get_dim (mli::kKernelGroupDim ) == 1 );
60-
61- MLI_ASSERT (m_weights.get_dim (mli::kKernelGroupDim ) == 1 );
70+ MLI_ASSERT (kernel_private_data_buffer != nullptr );
71+ MLI_ASSERT (m_input.get_dim (kGroupTensorBatchDim ) == 1 );
72+ MLI_ASSERT (m_weights.get_dim (kKernelChannelOutDim ) ==
73+ m_output.get_dim (kGroupTensorChannelDim ));
74+ MLI_ASSERT (m_weights.get_dim (kKernelChannelInDim ) ==
75+ m_input.get_dim (kGroupTensorChannelDim ));
76+ MLI_ASSERT (m_weights.get_dim (kKernelGroupDim ) == 1 );
6277
6378 TransposeConv2DPrivateData prv_data;
6479 prv_data.input = m_input;
@@ -88,31 +103,60 @@ mli_status TransposeConv2D_CS::AttachBufferOffsets(
88103 return MLI_STATUS_OK;
89104}
90105
106+ /* *
107+ * @deprecated
108+ */
91109mli_status TransposeConv2D_CS::EncodeWeights (Tensor<Buffer, kTransposeConvWRank > &weights,
92110 Buffer &encoded_weights,
93111 compression_mode_t mode) {
112+ DEPRECATED_METHOD
94113 return service::EncodeWeights (weights, encoded_weights);
95114}
96115
116+ mli_status TransposeConv2D_CS::EncodeWeightsAndZeroPts (TensorIterator<Buffer, kTransposeConvWRank , kTransposeConvIterRank >& weights,
117+ TensorIterator<Buffer, kTransposeConvZPRank , kTransposeConvIterRank >& weights_zp,
118+ Buffer& encoded_weights) {
119+ return service::EncodeWeightsAndZeroPts (weights.get_tensor (), weights_zp.get_tensor (), encoded_weights);
120+ };
121+
122+ unsigned TransposeConv2D_CS::GetEncodedWeightsSize () const {
123+ return m_weights_buffer_size;
124+ };
125+
126+ /* *
127+ * @deprecated
128+ */
97129mli_status TransposeConv2D_CS::EncodeInpZeroPts (Tensor<Buffer, kTransposeConvZPRank > &inpzeropts,
98130 Buffer &encoded_inpzeropts) {
99- constexpr int channel_axis = mli::kTensorChannelDim ;
131+ DEPRECATED_METHOD
132+ constexpr int channel_axis = kTensorChannelDim ;
100133 uint32_t channel_length = m_input.get_dim (channel_axis);
101134 return service::EncodeZeroPts<channel_axis>(
102135 inpzeropts, encoded_inpzeropts, m_inp_quant_axis, channel_length);
103136}
104137
138+ mli_status TransposeConv2D_CS::EncodeInpZeroPts (TensorIterator<Buffer, kTransposeConvZPRank , kTransposeConvZPIterRank >& input_zp,
139+ Buffer& encoded_input_zp) {
140+ constexpr int channel_axis = kTensorChannelDim ;
141+ uint32_t channel_length = m_input.get_dim (channel_axis);
142+ return service::EncodeZeroPts<channel_axis>(input_zp.get_tensor (), encoded_input_zp, m_inp_quant_axis, channel_length);
143+ }
144+
145+ /* *
146+ * @deprecated
147+ */
105148mli_status TransposeConv2D_CS::EncodeWtsZeroPts (Tensor<Buffer, kTransposeConvZPRank > &wtszeropts,
106149 Buffer &encoded_wtszeropts) {
107- constexpr int channel_axis = mli::kKernelChannelOutDim ;
150+ DEPRECATED_METHOD
151+ constexpr int channel_axis = kKernelChannelOutDim ;
108152 uint32_t channel_length = m_weights.get_dim (channel_axis);
109153 return service::EncodeZeroPts<channel_axis>(wtszeropts, encoded_wtszeropts,
110154 m_wts_quant_axis, channel_length);
111155}
112156
113157unsigned TransposeConv2D_CS::GetEncodedWtsZeroPtsSize () const {
114158 // per-channel quantization
115- return m_weights.get_dim (mli:: kKernelChannelOutDim ) ;
159+ return m_weights.get_dim (kKernelChannelOutDim );
116160}
117161
118162unsigned TransposeConv2D_CS::GetEncodedInpZeroPtsSize () const {
0 commit comments