Lines Matching defs:contract
76 // Return true if the contract op can be convert to MMA matmul.
77 static bool contractSupportsMMAMatrixType(vector::ContractionOp contract,
81 return AffineMap::inferFromExprList(m, contract.getContext());
84 bindDims(contract.getContext(), m, n, k);
85 auto iteratorTypes = contract.getIteratorTypes().getValue();
91 // The contract needs to represent a matmul to be able to convert to
94 contract.getIndexingMapsArray() != infer({{m, k}, {k, n}, {m, n}}))
97 contract.getIndexingMapsArray() != infer({{m, k}, {n, k}, {m, n}}))
200 /// Return true if this integer extend op can be folded into a contract op.
289 if (auto contract = dyn_cast<vector::ContractionOp>(op))
290 return contractSupportsMMAMatrixType(contract, useNvGpu);
360 op->walk([&](vector::ContractionOp contract) {
361 if (opToConvert.contains(contract.getOperation()))
364 getSliceContract(contract, backwardSliceOptions, forwardSliceOptions);
384 // Transform contract into (m, k)x(k, n)x(m, n) form so that it can be converted
520 // We can have arith.ext ops before reaching contract ops. See through them
529 auto contract = dyn_cast<vector::ContractionOp>(users);
530 if (!contract)
533 if (contract.getLhs() == op->getResult(0))
535 if (contract.getRhs() == op->getResult(0))