@@ -13,19 +13,19 @@ structured_op: !LinalgStructuredOpConfig
13
13
args :
14
14
- !LinalgOperandDefConfig
15
15
name : A
16
- usage : input
17
- shape : affine_map<()[s0, s1, s2] -> (s0, s2)>
16
+ usage : InputOperand
18
17
type_var : T1
18
+ shape_map : affine_map<()[s0, s1, s2] -> (s0, s2)>
19
19
- !LinalgOperandDefConfig
20
20
name : B
21
- usage : input
22
- shape : affine_map<()[s0, s1, s2] -> (s2, s1)>
21
+ usage : InputOperand
23
22
type_var : T2
23
+ shape_map : affine_map<()[s0, s1, s2] -> (s2, s1)>
24
24
- !LinalgOperandDefConfig
25
25
name : C
26
- usage : output
27
- shape : affine_map<()[s0, s1, s2] -> (s0, s1)>
26
+ usage : OutputOperand
28
27
type_var : U
28
+ shape_map : affine_map<()[s0, s1, s2] -> (s0, s1)>
29
29
indexing_maps : !LinalgIndexingMapsConfig
30
30
static_indexing_maps :
31
31
- affine_map<(d0, d1, d2)[s0, s1, s2] -> (d0, d2)>
@@ -75,19 +75,19 @@ structured_op: !LinalgStructuredOpConfig
75
75
args :
76
76
- !LinalgOperandDefConfig
77
77
name : A
78
- usage : input
79
- shape : affine_map<()[s0, s1, s2, s3] -> (s0, s1, s3)>
78
+ usage : InputOperand
80
79
type_var : T1
80
+ shape_map : affine_map<()[s0, s1, s2, s3] -> (s0, s1, s3)>
81
81
- !LinalgOperandDefConfig
82
82
name : B
83
- usage : input
84
- shape : affine_map<()[s0, s1, s2, s3] -> (s0, s3, s2)>
83
+ usage : InputOperand
85
84
type_var : T2
85
+ shape_map : affine_map<()[s0, s1, s2, s3] -> (s0, s3, s2)>
86
86
- !LinalgOperandDefConfig
87
87
name : C
88
- usage : output
89
- shape : affine_map<()[s0, s1, s2, s3] -> (s0, s1, s2)>
88
+ usage : OutputOperand
90
89
type_var : U
90
+ shape_map : affine_map<()[s0, s1, s2, s3] -> (s0, s1, s2)>
91
91
indexing_maps : !LinalgIndexingMapsConfig
92
92
static_indexing_maps :
93
93
- affine_map<(d0, d1, d2, d3)[s0, s1, s2, s3] -> (d0, d1, d3)>
@@ -138,19 +138,19 @@ structured_op: !LinalgStructuredOpConfig
138
138
args :
139
139
- !LinalgOperandDefConfig
140
140
name : A
141
- usage : input
142
- shape : affine_map<()[s0, s1] -> (s0, s1)>
141
+ usage : InputOperand
143
142
type_var : T1
143
+ shape_map : affine_map<()[s0, s1] -> (s0, s1)>
144
144
- !LinalgOperandDefConfig
145
145
name : y
146
- usage : input
147
- shape : affine_map<()[s0, s1] -> (s1)>
146
+ usage : InputOperand
148
147
type_var : T2
148
+ shape_map : affine_map<()[s0, s1] -> (s1)>
149
149
- !LinalgOperandDefConfig
150
150
name : x
151
- usage : output
152
- shape : affine_map<()[s0, s1] -> (s0)>
151
+ usage : OutputOperand
153
152
type_var : U
153
+ shape_map : affine_map<()[s0, s1] -> (s0)>
154
154
indexing_maps : !LinalgIndexingMapsConfig
155
155
static_indexing_maps :
156
156
- affine_map<(d0, d1)[s0, s1] -> (d0, d1)>
@@ -199,19 +199,19 @@ structured_op: !LinalgStructuredOpConfig
199
199
args :
200
200
- !LinalgOperandDefConfig
201
201
name : y
202
- usage : input
203
- shape : affine_map<()[s0, s1] -> (s1)>
202
+ usage : InputOperand
204
203
type_var : T1
204
+ shape_map : affine_map<()[s0, s1] -> (s1)>
205
205
- !LinalgOperandDefConfig
206
206
name : A
207
- usage : input
208
- shape : affine_map<()[s0, s1] -> (s1, s0)>
207
+ usage : InputOperand
209
208
type_var : T2
209
+ shape_map : affine_map<()[s0, s1] -> (s1, s0)>
210
210
- !LinalgOperandDefConfig
211
211
name : x
212
- usage : output
213
- shape : affine_map<()[s0, s1] -> (s0)>
212
+ usage : OutputOperand
214
213
type_var : U
214
+ shape_map : affine_map<()[s0, s1] -> (s0)>
215
215
indexing_maps : !LinalgIndexingMapsConfig
216
216
static_indexing_maps :
217
217
- affine_map<(d0, d1)[s0, s1] -> (d1)>
@@ -260,19 +260,19 @@ structured_op: !LinalgStructuredOpConfig
260
260
args :
261
261
- !LinalgOperandDefConfig
262
262
name : A
263
- usage : input
264
- shape : affine_map<()[s0] -> (s0)>
263
+ usage : InputOperand
265
264
type_var : T1
265
+ shape_map : affine_map<()[s0] -> (s0)>
266
266
- !LinalgOperandDefConfig
267
267
name : B
268
- usage : input
269
- shape : affine_map<()[s0] -> (s0)>
268
+ usage : InputOperand
270
269
type_var : T2
270
+ shape_map : affine_map<()[s0] -> (s0)>
271
271
- !LinalgOperandDefConfig
272
272
name : C
273
- usage : output
274
- shape : affine_map<()[s0] -> ()>
273
+ usage : OutputOperand
275
274
type_var : U
275
+ shape_map : affine_map<()[s0] -> ()>
276
276
indexing_maps : !LinalgIndexingMapsConfig
277
277
static_indexing_maps :
278
278
- affine_map<(d0)[s0] -> (d0)>
@@ -306,6 +306,83 @@ structured_op: !LinalgStructuredOpConfig
306
306
- !ScalarExpression
307
307
scalar_arg : B
308
308
--- !LinalgOpConfig
309
+ metadata : !LinalgOpMetadata
310
+ name : depthwise_conv_2d_input_nhwc_filter_hwc_poly
311
+ cpp_class_name : DepthwiseConv2DInputNhwcFilterHwcPolyOp
312
+ doc : A depth-wise 2-D convolution operation.
313
+ structured_op : !LinalgStructuredOpConfig
314
+ args :
315
+ - !LinalgOperandDefConfig
316
+ name : I
317
+ usage : InputOperand
318
+ type_var : T1
319
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11] ->
320
+ (s0, s6, s7, s3)>
321
+ - !LinalgOperandDefConfig
322
+ name : K
323
+ usage : InputOperand
324
+ type_var : T2
325
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11] ->
326
+ (s4, s5, s3)>
327
+ - !LinalgOperandDefConfig
328
+ name : O
329
+ usage : OutputOperand
330
+ type_var : U
331
+ shape_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11] ->
332
+ (s0, s1, s2, s3)>
333
+ - !LinalgOperandDefConfig
334
+ name : strides
335
+ usage : IndexAttribute
336
+ type_var : I64
337
+ attribute_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11]
338
+ -> (s8, s9)>
339
+ - !LinalgOperandDefConfig
340
+ name : dilations
341
+ usage : IndexAttribute
342
+ type_var : I64
343
+ attribute_map : affine_map<()[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11]
344
+ -> (s10, s11)>
345
+ indexing_maps : !LinalgIndexingMapsConfig
346
+ static_indexing_maps :
347
+ - affine_map<(d0, d1, d2, d3, d4, d5)[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9,
348
+ s10, s11] -> (d0, d1 * s8 + d4 * s10, d2 * s9 + d5 * s11, d3)>
349
+ - affine_map<(d0, d1, d2, d3, d4, d5)[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9,
350
+ s10, s11] -> (d4, d5, d3)>
351
+ - affine_map<(d0, d1, d2, d3, d4, d5)[s0, s1, s2, s3, s4, s5, s6, s7, s8, s9,
352
+ s10, s11] -> (d0, d1, d2, d3)>
353
+ iterator_types :
354
+ - parallel
355
+ - parallel
356
+ - parallel
357
+ - parallel
358
+ - reduction
359
+ - reduction
360
+ assignments :
361
+ - !ScalarAssign
362
+ arg : O
363
+ value : !ScalarExpression
364
+ scalar_apply :
365
+ fn_name : add
366
+ operands :
367
+ - !ScalarExpression
368
+ scalar_arg : O
369
+ - !ScalarExpression
370
+ scalar_apply :
371
+ fn_name : mul
372
+ operands :
373
+ - !ScalarExpression
374
+ symbolic_cast :
375
+ type_var : U
376
+ operands :
377
+ - !ScalarExpression
378
+ scalar_arg : I
379
+ - !ScalarExpression
380
+ symbolic_cast :
381
+ type_var : U
382
+ operands :
383
+ - !ScalarExpression
384
+ scalar_arg : K
385
+ --- !LinalgOpConfig
309
386
metadata : !LinalgOpMetadata
310
387
name : fill_rng_2d
311
388
cpp_class_name : FillRng2DOp
@@ -323,21 +400,21 @@ structured_op: !LinalgStructuredOpConfig
323
400
args :
324
401
- !LinalgOperandDefConfig
325
402
name : min
326
- usage : input
403
+ usage : InputOperand
327
404
type_var : F64
328
405
- !LinalgOperandDefConfig
329
406
name : max
330
- usage : input
407
+ usage : InputOperand
331
408
type_var : F64
332
409
- !LinalgOperandDefConfig
333
410
name : seed
334
- usage : input
411
+ usage : InputOperand
335
412
type_var : I32
336
413
- !LinalgOperandDefConfig
337
414
name : O
338
- usage : output
339
- shape : affine_map<()[s0, s1] -> (s0, s1)>
415
+ usage : OutputOperand
340
416
type_var : T
417
+ shape_map : affine_map<()[s0, s1] -> (s0, s1)>
341
418
indexing_maps : !LinalgIndexingMapsConfig
342
419
static_indexing_maps :
343
420
- affine_map<(d0, d1)[s0, s1] -> ()>
0 commit comments