/llvm-project/clang/test/SemaCUDA/ |
H A D | cxx11-kernel-call.cu | 7 template<int ...Dimensions> void k1Wrapper() { in k1Wrapper() 8 …d (*f)() = [] { k1<<<Dimensions, Dimensions>>>(); }; // expected-error {{initializer contains unex… in k1Wrapper() 9 void (*g[])() = { [] { k1<<<Dimensions, Dimensions>>>(); } ... }; // ok in k1Wrapper()
|
/llvm-project/polly/lib/External/isl/ |
H A D | isl_bind_domain_templ.c | 45 * to the initial input dimensions of "obj", 48 * input dimensions and project out the parameters. 80 * input dimensions and project out the parameters. 99 /* Bind the domain dimensions of the function "obj" to parameters 104 * then the domain dimensions are simply reinterpreted as parameters. 106 * domain dimensions. 126 * input dimensions and project out the parameters. 147 * a tuple of identifiers in A, bind the domain dimensions of the relation 152 * then the domain dimensions are simply reinterpreted as parameters. 154 * domain dimensions.
|
H A D | isl_reordering.h | 6 /* "pos" has "src_len" entries and maps original dimensions to new dimensions. 8 * The number of dimensions (i.e., the range of values) in the result 9 * may be larger than the number of dimensions in the input.
|
H A D | isl_multi_pw_aff_explicit_domain.c | 58 * for any dimension in the given range or if any of these dimensions appear 72 /* Insert "n" dimensions of type "type" at position "pos" 92 /* Drop the "n" dimensions of type "type" starting at position "pos" 112 /* Move the "n" dimensions of "src_type" starting at "src_pos" of 113 * of the explicit domain of "mpa" to dimensions of "dst_type" at "dst_pos".
|
H A D | isl_multi_no_explicit_domain.c | 98 * for any dimension in the given range or if any of these dimensions appear 109 /* Insert "n" dimensions of type "type" at position "pos" 120 /* Drop the "n" dimensions of type "type" starting at position "pos" 131 /* Move the "n" dimensions of "src_type" starting at "src_pos" of 132 * of the explicit domain of "multi" to dimensions of "dst_type" at "dst_pos".
|
/llvm-project/mlir/lib/Dialect/Linalg/IR/ |
H A D | LinalgInterfaces.cpp | 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. in isContractionInterfaceImpl() argument 423 // A & B & C are the "batch" dimensions. in isContractionInterfaceImpl() 428 // A & B red are the reduction dimensions. in isContractionInterfaceImpl() 436 ContractionDimensions dimensions{ in getMatchContractionMessage() 441 llvm::sort(dimensions.batch.begin(), dimensions.batch.end()); in getMatchContractionMessage() 442 llvm::sort(dimensions.m.begin(), dimensions in getMatchContractionMessage() 359 ContractionDimensions dimensions{ inferContractionDimsImpl() local 675 ConvolutionDimensions dimensions{ inferConvolutionDimsImpl() local 771 isConvolutionInterfaceImpl(Operation * op,ConvolutionDimensions * dimensions) isConvolutionInterfaceImpl() argument [all...] |
/llvm-project/mlir/include/mlir/Dialect/Linalg/TransformOps/ |
H A D | LinalgMatchOps.td | 143 "Checks if an operation has contraction-like dimensions and returns them"; 145 Checks if the structured payload op has contraction-like dimensions as 152 - 'batch' are parallel dimensions used in inputs and result; 153 - 'm' are parallel dimensions used in the LHS and result; 154 - 'n' are parallel dimensions used in rhe RHS and result; 155 - 'k' are reduction dimensions present only in LHS and RHS. 163 Succeeds if the operation has the contraction-like dimensions, produces a 184 "Checks if an operation has convolution-like dimensions and returns them"; 186 Checks if the structured payload op has convolution-like dimensions as 193 - 'batch' are parallel dimensions use [all...] |
/llvm-project/mlir/include/mlir/Analysis/ |
H A D | FlatLinearValueConstraints.h | 38 /// the number of dimensions and symbols. 50 /// Constructs a constraint system with the specified number of dimensions 53 /// dimensions and symbols. 90 /// Note: The dimensions/symbols of this FlatLinearConstraints must match the 91 /// dimensions/symbols of the affine map. 110 /// Note: The dimensions/symbols of this FlatLinearConstraints must match the 111 /// dimensions/symbols of the affine map. By default the lower bound is closed 141 /// Composes an affine map whose dimensions and symbols match one to one with 142 /// the dimensions and symbols of this FlatLinearConstraints. The results of 143 /// the map `other` are added as the leading dimensions of this constraint [all …]
|
/llvm-project/mlir/include/mlir/Dialect/Linalg/IR/ |
H A D | LinalgInterfaces.h | 52 /// These dimensions are such that: 59 /// 5. Optional batch dimensions that appear in all operands are captured. 90 /// These dimensions are such that: 91 /// 1. Optional batch dimensions that appear in the input and filter. 104 /// 7. All dimensions appear only once in any given indexing map. 124 /// `linalg.broadcast`. Returns broadcast dimensions if true. 129 /// `linalg.transpose`. Returns permuted dimensions if true. 175 /// `dimensions` with indexes of the different kinds of dimensions when 179 ContractionDimensions *dimensions [all...] |
/llvm-project/mlir/lib/AsmParser/ |
H A D | TypeParser.cpp | 192 SmallVector<int64_t, 4> dimensions; in parseMemRefType() 202 if (parseDimensionListRanked(dimensions)) in parseMemRefType() 255 return getChecked<MemRefType>(loc, dimensions, elementType, layout, 399 SmallVector<int64_t, 4> dimensions; in parseTensorType() 410 if (parseDimensionListRanked(dimensions)) in parseTensorType() 426 if (failed(v.verifyEncoding(dimensions, elementType, in parseTupleType() 443 return RankedTensorType::get(dimensions, elementType, encoding); in parseTupleType() 483 // Parse the dimensions. 484 SmallVector<int64_t, 4> dimensions; 486 if (parseVectorDimensionList(dimensions, scalableDim 186 SmallVector<int64_t, 4> dimensions; parseMemRefType() local 375 SmallVector<int64_t, 4> dimensions; parseTensorType() local 458 SmallVector<int64_t, 4> dimensions; parseVectorType() local 490 parseVectorDimensionList(SmallVectorImpl<int64_t> & dimensions,SmallVectorImpl<bool> & scalableDims) parseVectorDimensionList() argument 526 parseDimensionListRanked(SmallVectorImpl<int64_t> & dimensions,bool allowDynamic,bool withTrailingX) parseDimensionListRanked() argument [all...] |
/llvm-project/mlir/include/mlir/Interfaces/ |
H A D | VectorInterfaces.td | 58 - An optional in_bounds array to indicate transfer dimensions that are 70 The "vector transfer rank" is the number of dimensions that participate in 98 dimension whether it is in-bounds or not. (Broadcast dimensions are 139 dimensions to source dimensions, as well as broadcast dimensions. 146 Note: Nested vector dimensions that are flattened by this op are not 150 // is because there are only 2 transfer dimensions. 181 /// Return the number of leading shaped dimensions (of the "source" operand) 200 /// Return the number of dimensions tha [all...] |
/llvm-project/mlir/lib/Dialect/Linalg/Transforms/ |
H A D | BlockPackMatmul.cpp | 43 /// Return true if all dimensions are fully divisible by the respective tiles. 57 // Offset all dimensions accordingly. in validateFullTilesOnDims() 99 // Bias toward innermost dimensions. in transposePackedMatmul() 104 // Block transposition (outer dimensions) or element transposition (inner in transposePackedMatmul() 105 // dimensions) may not be necessary depending on the original matmul data in transposePackedMatmul() 112 // Transpose only the dimensions that need that to conform to the provided in transposePackedMatmul() 121 // Leave the outer dimensions, like batch, unchanged by offsetting all in transposePackedMatmul() 122 // outer dimensions permutations. in transposePackedMatmul() 154 // If padding is disabled, make sure that dimensions can be packed cleanly. in blockPackMatmul() 167 // - major 2D blocks - outer dimensions, consis in blockPackMatmul() [all...] |
/llvm-project/mlir/docs/Dialects/ |
H A D | Affine.md | 13 ### Dimensions and Symbols 15 Dimensions and symbols are the two kinds of identifiers that can appear in the 17 Dimensions are declared in parentheses and symbols are declared in square 24 // d0/d1 are dimensions, s0 is a symbol 28 Dimensional identifiers correspond to the dimensions of the underlying structure 34 Dimensions and symbols are bound to SSA values by various operations in MLIR and 46 // Most things that bind SSA values bind dimensions and symbols. 50 SSA values bound to dimensions and symbols must always have 'index' type. 60 ### Restrictions on Dimensions and Symbols 82 location of the SSA use. Dimensions ma [all...] |
/llvm-project/mlir/include/mlir-c/ |
H A D | IntegerSet.h | 68 /// dimensions and symbols in the given context. 74 /// by a list of affine constraints, with the given number of input dimensions 83 /// Gets or creates a new integer set in which the values and dimensions of the 86 /// consecutive expressions as the given set has dimensions and symbols, 88 /// dimensions and symbols, respectively. 98 /// Returns the number of dimensions in the given set. 104 /// Returns the number of inputs (dimensions + symbols) in the given set.
|
H A D | AffineMap.h | 64 /// Creates a zero result affine map with no dimensions or symbols in the 68 /// Creates a zero result affine map of the given dimensions and symbols in the 75 /// dimensions and symbols, regardless of them being used in the results. 93 /// Creates an identity affine map on the most minor dimensions in the context. 95 /// of dimensions is greater or equal to the number of results. 108 /// asserts that the number of dimensions is greater or equal to the number of 127 /// Returns the number of dimensions of the given affine map. 140 /// Returns the number of inputs (dimensions + symbols) of the given affine
|
/llvm-project/mlir/lib/Dialect/Vector/Transforms/ |
H A D | VectorDropLeadUnitDim.cpp | 25 // Trims leading one dimensions from `oldType` and returns the result type. 54 // Casts away leading one dimensions in vector.extract_strided_slice's vector 63 // the same rank. Here we drop leading one dimensions from the input vector in matchAndRewrite() 85 // than the input vector's rank: it is meant for the leading dimensions. in matchAndRewrite() 103 // Casts away leading one dimensions in vector.insert_strided_slice's vector 121 // Trim leading one dimensions from both operands. in matchAndRewrite() 144 // Casts away leading one dimensions in vector.insert's vector inputs by 168 // Trim leading one dimensions from both operands. in matchAndRewrite() 218 // Turns vector.transfer_read on vector with leading 1 dimensions into 220 // 1 dimensions [all...] |
/llvm-project/polly/lib/Transform/ |
H A D | MatmulOptimizer.cpp | 230 /// Input dimensions of the schedule space, which represent free 241 /// Sizes of tensor dimensions for corresponding input dimensions of 277 /// Permute the two dimensions of the isl map. 279 /// Permute @p DstPos and @p SrcPos dimensions of the isl map @p Map that 283 /// @param DimType The type of the dimensions. 421 "functions have at least three dimensions."); in containsOnlyMatrMultAcc() 531 /// Permute two dimensions of the band node. 533 /// Permute FirstDim and SecondDim dimensions of the Node. 568 /// of dimensions o 1150 isCorrectAccessMap(isl::set Domain,isl::map AccMap,ArrayRef<int> Dimensions) isCorrectAccessMap() argument 1193 isTCOperandAcc(isl::set Domain,isl::map AccMap,SmallDenseSet<int> & IndexSet,SmallVectorImpl<int> & DimensionSizes,SmallVectorImpl<int> & Dimensions) isTCOperandAcc() argument 1324 setReadAccess(MemoryAccess * MemAccessPtr,const SmallDenseSet<int> & IndexSet,const SmallDenseSet<int> & IandJIndexSet,ArrayRef<int> Dimensions,TCInfoTy & TCI) setReadAccess() argument 1403 SmallVector<int> Dimensions; setReadAccesses() local [all...] |
/llvm-project/mlir/benchmark/python/ |
H A D | common.py | 21 def create_sparse_np_tensor(dimensions, number_of_elements): argument 22 """Constructs a numpy tensor of dimensions `dimensions` that has only a 26 tensor = np.zeros(dimensions, np.float64) 28 [np.random.randint(0, dimension) for dimension in dimensions]
|
/llvm-project/mlir/include/mlir/IR/ |
H A D | BuiltinTypeInterfaces.td | 93 A shape is a list of sizes corresponding to the dimensions of the container. 94 If the number of dimensions in the shape is unknown, the shape is "unranked". 95 If the number of dimensions is known, the shape "ranked". The sizes of the 96 dimensions of the shape must be positive, or kDynamic (in which case the 120 Returns if this type is ranked, i.e. it has a known number of dimensions. 194 /// all dimensions have known size (>= 0). 206 /// If this is a ranked type, return the number of dimensions with dynamic 220 /// dimensions, given its `index` within the shape.
|
/llvm-project/mlir/include/mlir/Dialect/Tensor/IR/ |
H A D | TensorOps.td | 67 If both are ranked, then the rank should be the same and static dimensions 101 same and static dimensions should match. The operation is invalid if 110 // Convert to a type with more known dimensions. 142 of the inputs along that dimension. All other dimensions in both the inputs 389 tensor by removing dimensions that are statically known to be of size 1. 391 flexibility allows to progressively drop unit dimensions while lowering 400 only drop the first unit dimensions, in order: 411 (remaining common 1 dimensions are matched eagerly) 531 /// Return the dimensions of the source that are dropped in the 612 The leading dimensions o [all...] |
/llvm-project/mlir/test/Dialect/Linalg/ |
H A D | invalid.mlir | 771 // expected-error @+1 {{'linalg.reduce' op init dimensions [16, 64] doesn't match input dimensions after reduction [16, 32]}} 775 dimensions = [2] 787 // expected-error @+1 {{'linalg.reduce' op dimensions for reduction should be in the range [0, 2].}} 791 dimensions = [3] 803 // expected-error @+1 {{'linalg.reduce' op attribute 'dimensions' failed to satisfy constraint: i64 dense array attribute should be in increasing order}} 807 dimensions = [1, 1] 819 // expected-error @+1 {{'linalg.reduce' op attribute 'dimensions' failed to satisfy constraint: i64 dense array attribute should be in increasing order}} 823 dimensions = [2, 1] 835 // expected-error @+1 {{'linalg.reduce' op number of dimensions afte [all...] |
/llvm-project/mlir/include/mlir/Dialect/Linalg/ |
H A D | Passes.td | 143 - major 2D blocks - outer dimensions, consist of minor blocks 144 - minor 2D blocks - inner dimensions, consist of scalar elements 148 where the (MB, NB, KB) dimensions represent the major blocks, 150 original 2D dimensions (M, N, K). 153 packing options, the major blocks dimensions might get transposed 156 Any present batch dimensions remain unchanged. 182 "Permutation of matmul (M, N, K) dimensions order">,
|
/llvm-project/mlir/test/python/dialects/linalg/ |
H A D | ops.py | 132 # CHECK: %[[VAL_8:.*]] = linalg.broadcast ins(%[[VAL_6]] : tensor<16xf32>) outs(%[[VAL_7]] : tensor<16x64xf32>) dimensions = [1] 137 dimensions=[1], 143 # CHECK: %[[VAL_10:.*]] = linalg.broadcast ins(%[[VAL_9]] : tensor<64xf32>) outs(%[[VAL_7]] : tensor<16x64xf32>) dimensions = [0] 144 op5 = linalg.broadcast(op4, outs=[op2], dimensions=[0]) 153 # CHECK: linalg.broadcast ins(%[[VAL_11]] : memref<16xf32>) outs(%[[VAL_12]] : memref<16x64xf32>) dimensions = [1] 158 dimensions=[1], 161 # CHECK: linalg.broadcast ins(%[[VAL_13]] : memref<64xf32>) outs(%[[VAL_12]] : memref<16x64xf32>) dimensions = [0] 162 op5 = linalg.broadcast(op3, outs=[op2], dimensions=[0])
|
/llvm-project/mlir/python/mlir/dialects/linalg/opdsl/lang/ |
H A D | dsl.py | 182 def domain(*dimensions: DimDef): 183 if any(not isinstance(d, DimDef) for d in dimensions): 184 raise ValueError(f"Expected dimensions of type DimDef but got {dimensions}") 185 current_op_def().domain.extend(dimensions)
|
/llvm-project/mlir/include/mlir/Dialect/ |
H A D | Traits.h | 36 /// Zip together the dimensions in the two given shapes by prepending the shape 37 /// with less dimensions with 1s. For each dimension pair, deduces the result 39 /// - If there are unknown dimensions, follows the TensorFlow behavior: 45 /// - If two dimensions are the same, that's the result. 84 /// ranks or dimensions are not known. For example, an op with tensor<?x2xf32>
|