|
| SmallVector< Value > | mlir::xegpu::flattenValues (ArrayRef< ValueRange > values) |
| | Flatten a set of ValueRange into a single SmallVector<Value>
|
| FailureOr< VectorType > | mlir::xegpu::getDistributedVectorType (xegpu::TensorDescType tdescTy) |
| | If tensor descriptor has a layout attribute it is used in SIMT mode.
|
| FailureOr< VectorType > | mlir::xegpu::getDistributedVectorType (VectorType originalType, LayoutAttr layout) |
| | Helper to get the distributed vector type for a given vector type according to a given LayoutAttr.
|
| FailureOr< VectorType > | mlir::xegpu::getDistVecTypeBasedOnLaneLayout (DistributeLayoutAttr layout, VectorType originalType) |
| | Helper function to get distributed vector type for a source vector type according to the lane_layout.
|
| SmallVector< Value > | mlir::xegpu::extractVectorsWithShapeFromValue (OpBuilder &builder, Location loc, Value value, ArrayRef< int64_t > shape) |
| | Extract a set of small vectors from a value with a given shape using vector.extract_stride_slice.
|
| Value | mlir::xegpu::createVectorWithShapeFromValues (OpBuilder &builder, Location loc, ValueRange values, ArrayRef< int64_t > shape) |
| | Create a vector of shape from a set of values using vector.insert_stride_slice.
|
| void | mlir::xegpu::doSCFStructuralTypeConversionWithTensorType (Operation *op, TypeConverter converter) |
| | Do type conversion for SCF structural ops, e.g., scf.for using SCF structure type convertion patterns.
|
| std::optional< std::string > | mlir::xegpu::getChipStr (Operation *op) |
| | Retrieves the chip string from the XeVM target attribute of the parent GPU module operation.
|
| SmallVector< OpFoldResult > | mlir::xegpu::addElementwise (OpBuilder &builder, Location loc, ArrayRef< OpFoldResult > lhs, ArrayRef< OpFoldResult > rhs) |
| | Generates element-wise addition ops of two arrays with same length.
|
| SmallVector< OpFoldResult > | mlir::xegpu::addWithRightAligned (OpBuilder &builder, Location loc, ArrayRef< OpFoldResult > lhs, ArrayRef< OpFoldResult > rhs) |
| | Generates element-wise addition ops of two arrays with automatic alignment.
|
| Value | mlir::xegpu::subgroupReduction (Location loc, OpBuilder &builder, Value input, vector::CombiningKind kind, uint32_t size) |
| | Given an input value representing per-lane data, this function returns the result after performing a reduction on the input over all lanes (number of lanes given by size).
|
| Value | mlir::xegpu::lowerToVectorReductions (TypedValue< VectorType > src, TypedValue< VectorType > acc, vector::CombiningKind kind, int64_t reductionDim, Location loc, PatternRewriter &rewriter) |
| | Given a src and an acc argumments from a vector::MultiDimReductionOp, lower to a set of vector::ReductionOp ops over 1D slices extracted from src.
|
| template<typename T> |
| int | mlir::xegpu::getLargestDivisor (T dim, ArrayRef< T > candidates, ArrayRef< T > candidateMultiples={}) |
| | Helper Function to find a proper instruction multiple for the user-supplied sg-level data shape (diven by dim).
|
| DistributeLayoutAttr | mlir::xegpu::getDistributeLayoutAttr (const Value value) |
| | Retrieves the DistributeLayoutAttr associated with a given Value.
|
| DistributeLayoutAttr | mlir::xegpu::getDistributeLayoutAttr (const OpOperand &opr) |
| | Retrieves the DistributeLayoutAttr associated with a given OpOperand.
|
| void | mlir::xegpu::setDistributeLayoutAttr (const OpResult &Result, const DistributeLayoutAttr layout) |
| | [to-be-deprecated] Sets the DistributeLayoutAttr for a given OpResult user should use setAnchorLayout instead
|
| void | mlir::xegpu::setDistributeLayoutAttr (const OpOperand &opr, const DistributeLayoutAttr layout) |
| | [to-be-deprecated] Sets the DistributeLayoutAttr for a given OpOperand user should use setAnchorLayout instead
|
| std::string | mlir::xegpu::getTemporaryLayoutName (const OpOperand &operand) |
| | Return the attribute name for the OpOperand to attach DistributeLayoutAttr.
|
| std::string | mlir::xegpu::getTemporaryLayoutName (const OpResult result) |
| | Return the attribute name for the OpResult to attach DistributeLayoutAttr.
|
| template<typename T, typename = std::enable_if_t<std::is_same_v<T, OpOperand> || std::is_same_v<T, OpResult>>> |
| DistributeLayoutAttr | mlir::xegpu::getTemporaryLayout (const T &operandOrResult) |
| | get and set distribute layout attribute for non-anchor operations (and offsets/masks of load/store ops before we get rid of their temp attrs)
|
| template<typename T, typename = std::enable_if_t<std::is_same_v<T, OpOperand> || std::is_same_v<T, OpResult>>> |
| void | mlir::xegpu::setTemporaryLayout (const T &operandOrResult, const DistributeLayoutAttr layout) |
| bool | mlir::xegpu::requirePacked (const LayoutAttr layout) |
| | Helper function to check if the layout is packed.
|
| bool | mlir::xegpu::requireTranspose (const LayoutAttr layout, const uArch::uArch *uArch) |
| | Helper function to check if the layout requires a transpose effect.
|
| bool | mlir::xegpu::matchUnitDimExpansion (ArrayRef< int64_t > src, ArrayRef< int64_t > dst, SmallVector< int64_t > &expandedUnitDims) |
| bool | mlir::xegpu::matchSplitDimExpansion (ArrayRef< int64_t > src, ArrayRef< int64_t > dst, SmallVector< SmallVector< int64_t > > &splitDimGroups) |