@@ -3114,6 +3114,143 @@ structured_op: !LinalgStructuredOpConfig
3114
3114
- !ScalarExpression
3115
3115
scalar_arg : KZp
3116
3116
--- !LinalgOpConfig
3117
+ metadata : !LinalgOpMetadata
3118
+ name : conv_2d_nchw_fchw_q
3119
+ cpp_class_name : Conv2DNchwFchwQOp
3120
+ doc : |-
3121
+ Performs 2-D convolution with zero point offsets.
3122
+
3123
+ Layout:
3124
+ * Input: NCHW.
3125
+ * Kernel: FCHW.
3126
+
3127
+ Numeric casting is performed on the operands to the inner multiply, promoting
3128
+ them to the same data type as the accumulator/output. This includes the zero
3129
+ point offsets common to quantized operations.
3130
+ implements :
3131
+ - LinalgConvolutionOpInterface
3132
+ structured_op : !LinalgStructuredOpConfig
3133
+ args :
3134
+ - !LinalgOperandDefConfig
3135
+ name : I
3136
+ kind : input_tensor
3137
+ type_var : T1
3138
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10] -> (s0,
3139
+ s1, s2 * s3 + s4 * s5, s6 * s7 + s8 * s9)>
3140
+ - !LinalgOperandDefConfig
3141
+ name : K
3142
+ kind : input_tensor
3143
+ type_var : T2
3144
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10] -> (s10,
3145
+ s1, s4, s8)>
3146
+ - !LinalgOperandDefConfig
3147
+ name : IZp
3148
+ kind : scalar
3149
+ type_var : I32
3150
+ - !LinalgOperandDefConfig
3151
+ name : KZp
3152
+ kind : scalar
3153
+ type_var : I32
3154
+ - !LinalgOperandDefConfig
3155
+ name : O
3156
+ kind : output_tensor
3157
+ type_var : U
3158
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10] -> (s0,
3159
+ s10, s2, s6)>
3160
+ - !LinalgOperandDefConfig
3161
+ name : strides
3162
+ kind : index_attr
3163
+ index_attr_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10] ->
3164
+ (s3, s7)>
3165
+ default_indices :
3166
+ - 1
3167
+ - 1
3168
+ - !LinalgOperandDefConfig
3169
+ name : dilations
3170
+ kind : index_attr
3171
+ index_attr_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10] ->
3172
+ (s5, s9)>
3173
+ default_indices :
3174
+ - 1
3175
+ - 1
3176
+ indexing_maps : !LinalgIndexingMapsConfig
3177
+ static_indexing_maps :
3178
+ - affine_map<(d0, d1, d2, d3, d4, d5, d6)[s0, s1, s2, s3, s4, s5, s6, s7, s8,
3179
+ s9, s10] -> (d0, d4, d2 * s3 + d5 * s5, d3 * s7 + d6 * s9)>
3180
+ - affine_map<(d0, d1, d2, d3, d4, d5, d6)[s0, s1, s2, s3, s4, s5, s6, s7, s8,
3181
+ s9, s10] -> (d1, d4, d5, d6)>
3182
+ - affine_map<(d0, d1, d2, d3, d4, d5, d6)[s0, s1, s2, s3, s4, s5, s6, s7, s8,
3183
+ s9, s10] -> ()>
3184
+ - affine_map<(d0, d1, d2, d3, d4, d5, d6)[s0, s1, s2, s3, s4, s5, s6, s7, s8,
3185
+ s9, s10] -> ()>
3186
+ - affine_map<(d0, d1, d2, d3, d4, d5, d6)[s0, s1, s2, s3, s4, s5, s6, s7, s8,
3187
+ s9, s10] -> (d0, d1, d2, d3)>
3188
+ iterator_types :
3189
+ - parallel
3190
+ - parallel
3191
+ - parallel
3192
+ - parallel
3193
+ - reduction
3194
+ - reduction
3195
+ - reduction
3196
+ assignments :
3197
+ - !ScalarAssign
3198
+ arg : O
3199
+ value : !ScalarExpression
3200
+ scalar_fn :
3201
+ kind : binary
3202
+ fn_name : add
3203
+ operands :
3204
+ - !ScalarExpression
3205
+ scalar_arg : O
3206
+ - !ScalarExpression
3207
+ scalar_fn :
3208
+ kind : binary
3209
+ fn_name : mul
3210
+ operands :
3211
+ - !ScalarExpression
3212
+ scalar_fn :
3213
+ kind : binary
3214
+ fn_name : sub
3215
+ operands :
3216
+ - !ScalarExpression
3217
+ scalar_fn :
3218
+ kind : type
3219
+ fn_name : cast_signed
3220
+ type_var : U
3221
+ operands :
3222
+ - !ScalarExpression
3223
+ scalar_arg : I
3224
+ - !ScalarExpression
3225
+ scalar_fn :
3226
+ kind : type
3227
+ fn_name : cast_signed
3228
+ type_var : U
3229
+ operands :
3230
+ - !ScalarExpression
3231
+ scalar_arg : IZp
3232
+ - !ScalarExpression
3233
+ scalar_fn :
3234
+ kind : binary
3235
+ fn_name : sub
3236
+ operands :
3237
+ - !ScalarExpression
3238
+ scalar_fn :
3239
+ kind : type
3240
+ fn_name : cast_signed
3241
+ type_var : U
3242
+ operands :
3243
+ - !ScalarExpression
3244
+ scalar_arg : K
3245
+ - !ScalarExpression
3246
+ scalar_fn :
3247
+ kind : type
3248
+ fn_name : cast_signed
3249
+ type_var : U
3250
+ operands :
3251
+ - !ScalarExpression
3252
+ scalar_arg : KZp
3253
+ --- !LinalgOpConfig
3117
3254
metadata : !LinalgOpMetadata
3118
3255
name : conv_2d_nchw_fchw
3119
3256
cpp_class_name : Conv2DNchwFchwOp
0 commit comments