Lines Matching full:dimensions
168 // linalg.transpose permutes the dimensions of input using this
395 /// a matmul subcomputation within `linalgOp`. These dimensions are such that:
402 /// 5. Optional batch dimensions that appear in all operands are captured.
423 // A & B & C are the "batch" dimensions.
428 // A & B red are the reduction dimensions.
436 ContractionDimensions dimensions{
441 llvm::sort(dimensions.batch.begin(), dimensions.batch.end());
442 llvm::sort(dimensions.m.begin(), dimensions.m.end());
443 llvm::sort(dimensions.n.begin(), dimensions.n.end());
444 llvm::sort(dimensions.k.begin(), dimensions.k.end());
445 return dimensions;
479 Operation *op, mlir::linalg::ContractionDimensions *dimensions) {
503 if (dimensions) {
506 *dimensions = *res;
577 /// classifies the AffineDimExpr as convolved dimensions or unconvolved
578 /// dimensions and verifies each dimension occurs only once.
581 // Stores dimensions used in expressions of the above form.
585 // Stores single use dimensions used by an AffineDimExpr.
698 /// Classifies dimensions in the `linalgOp` used by a convolution
702 /// dimensions are specified in sorted order, and strides match the order of
703 /// the filter loop dimensions, while the dilations match the order of the
704 /// output image dimensions.
753 ConvolutionDimensions dimensions{
762 llvm::sort(dimensions.batch.begin(), dimensions.batch.end());
763 llvm::sort(dimensions.outputImage.begin(), dimensions.outputImage.end());
764 llvm::sort(dimensions.outputChannel.begin(), dimensions.outputChannel.end());
765 llvm::sort(dimensions.filterLoop.begin(), dimensions.filterLoop.end());
766 llvm::sort(dimensions.inputChannel.begin(), dimensions.inputChannel.end());
767 llvm::sort(dimensions.depth.begin(), dimensions.depth.end());
773 for (unsigned oiDim : dimensions.outputImage)
775 dimensions.strides = getConstantsFromExprList(strideExprs);
777 dimensions.strides = llvm::to_vector<2>(nativeStrides.getValues<int64_t>());
783 for (unsigned flDim : dimensions.filterLoop)
785 dimensions.dilations = getConstantsFromExprList(dilationExprs);
787 dimensions.dilations =
790 return dimensions;
797 /// These dimensions are such that:
798 /// 1. Optional batch dimensions that appear in the input and filter.
811 /// 7. All dimensions appear only once in any given indexing map.
850 Operation *op, ConvolutionDimensions *dimensions,
972 if (dimensions) {
976 *dimensions = *res;
1294 // decreasing. The size of dimensions of input/output operands and the