MLIR 23.0.0git
mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc Struct Reference

#include "mlir/Dialect/XeGPU/uArch/IntelGpuXe2.h"

Inheritance diagram for mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc:

Public Member Functions

 SubgroupScaledMatrixMultiplyAcc (unsigned packedFormatBitSizeA, unsigned packedFormatBitSizeB)
virtual llvm::SmallVector< std::pair< uint32_t, uint32_t >, 16 > getSupportedShapes (Type dataType, MMAOpndKind matrixType) override
virtual llvm::SmallVector< Type, 8 > getSupportedTypes (MLIRContext &context, MMAOpndKind matrixType) override
virtual bool checkSupportedShapesAndTypes (std::pair< uint32_t, uint32_t > AShape, std::pair< uint32_t, uint32_t > BShape, std::pair< uint32_t, uint32_t > CShape, std::pair< uint32_t, uint32_t > DShape, Type AType, Type BType, Type CType, Type DType) override
virtual bool checkSupportedTypes (Type AType, Type BType, Type CType, Type DType) override
virtual bool validate (std::pair< uint32_t, uint32_t > AShape, std::pair< uint32_t, uint32_t > BShape, std::pair< uint32_t, uint32_t > CShape, std::pair< uint32_t, uint32_t > DShape, Type AType, Type BType, Type CType, Type DType) override
virtual llvm::SmallVector< uint32_t, 8 > getSupportedM (Type type) const override
virtual llvm::SmallVector< uint32_t, 8 > getSupportedK (Type type) const override
virtual llvm::SmallVector< uint32_t, 8 > getSupportedN (Type type) const override
unsigned getPackedFormatBitSizeA () const
unsigned getPackedFormatBitSizeB () const
bool isLaneLayoutRowMajorOrder () const override
Public Member Functions inherited from mlir::xegpu::uArch::Instruction
 Instruction (InstructionKind kind, InstructionScope scope)
 ~Instruction ()=default
InstructionKind getInstructionKind () const
InstructionScope getScope () const
Public Member Functions inherited from mlir::xegpu::uArch::MMAInstructionInterface
virtual ~MMAInstructionInterface ()=default

Static Public Member Functions

static bool classof (const Instruction *B)
Static Public Member Functions inherited from mlir::xegpu::uArch::Instruction
static llvm::StringRef toString (InstructionKind instKind)
static std::optional< InstructionKindparseInstructionKind (llvm::StringRef str)

Protected Attributes

const unsigned packedFormatBitSizeA
const unsigned packedFormatBitSizeB
Protected Attributes inherited from mlir::xegpu::uArch::Instruction
const InstructionKind instKind
const InstructionScope scope

Detailed Description

Definition at line 219 of file IntelGpuXe2.h.

Constructor & Destructor Documentation

◆ SubgroupScaledMatrixMultiplyAcc()

mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::SubgroupScaledMatrixMultiplyAcc ( unsigned packedFormatBitSizeA,
unsigned packedFormatBitSizeB )
inline

Member Function Documentation

◆ checkSupportedShapesAndTypes()

bool SubgroupScaledMatrixMultiplyAcc::checkSupportedShapesAndTypes ( std::pair< uint32_t, uint32_t > AShape,
std::pair< uint32_t, uint32_t > BShape,
std::pair< uint32_t, uint32_t > CShape,
std::pair< uint32_t, uint32_t > DShape,
Type AType,
Type BType,
Type CType,
Type DType )
inlineoverridevirtual

◆ checkSupportedTypes()

bool SubgroupScaledMatrixMultiplyAcc::checkSupportedTypes ( Type AType,
Type BType,
Type CType,
Type DType )
inlineoverridevirtual

◆ classof()

bool mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::classof ( const Instruction * B)
inlinestatic

◆ getPackedFormatBitSizeA()

unsigned mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::getPackedFormatBitSizeA ( ) const
inline

Definition at line 259 of file IntelGpuXe2.h.

References packedFormatBitSizeA.

◆ getPackedFormatBitSizeB()

unsigned mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::getPackedFormatBitSizeB ( ) const
inline

Definition at line 260 of file IntelGpuXe2.h.

References packedFormatBitSizeB.

◆ getSupportedK()

llvm::SmallVector< uint32_t, 8 > SubgroupScaledMatrixMultiplyAcc::getSupportedK ( Type type) const
inlineoverridevirtual

◆ getSupportedM()

llvm::SmallVector< uint32_t, 8 > SubgroupScaledMatrixMultiplyAcc::getSupportedM ( Type type) const
inlineoverridevirtual

Implements mlir::xegpu::uArch::MMAInstructionInterface.

Definition at line 643 of file IntelGpuXe2.h.

Referenced by getSupportedShapes().

◆ getSupportedN()

llvm::SmallVector< uint32_t, 8 > SubgroupScaledMatrixMultiplyAcc::getSupportedN ( Type type) const
inlineoverridevirtual

Implements mlir::xegpu::uArch::MMAInstructionInterface.

Definition at line 669 of file IntelGpuXe2.h.

Referenced by getSupportedShapes().

◆ getSupportedShapes()

llvm::SmallVector< std::pair< uint32_t, uint32_t >, 16 > SubgroupScaledMatrixMultiplyAcc::getSupportedShapes ( Type dataType,
MMAOpndKind matrixType )
inlineoverridevirtual

◆ getSupportedTypes()

llvm::SmallVector< Type, 8 > SubgroupScaledMatrixMultiplyAcc::getSupportedTypes ( MLIRContext & context,
MMAOpndKind matrixType )
inlineoverridevirtual

◆ isLaneLayoutRowMajorOrder()

bool mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::isLaneLayoutRowMajorOrder ( ) const
inlineoverridevirtual

Implements mlir::xegpu::uArch::MMAInstructionInterface.

Definition at line 261 of file IntelGpuXe2.h.

◆ validate()

bool SubgroupScaledMatrixMultiplyAcc::validate ( std::pair< uint32_t, uint32_t > AShape,
std::pair< uint32_t, uint32_t > BShape,
std::pair< uint32_t, uint32_t > CShape,
std::pair< uint32_t, uint32_t > DShape,
Type AType,
Type BType,
Type CType,
Type DType )
inlineoverridevirtual

Member Data Documentation

◆ packedFormatBitSizeA

const unsigned mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::packedFormatBitSizeA
protected

Definition at line 264 of file IntelGpuXe2.h.

Referenced by getPackedFormatBitSizeA(), and SubgroupScaledMatrixMultiplyAcc().

◆ packedFormatBitSizeB

const unsigned mlir::xegpu::uArch::SubgroupScaledMatrixMultiplyAcc::packedFormatBitSizeB
protected

Definition at line 265 of file IntelGpuXe2.h.

Referenced by getPackedFormatBitSizeB(), and SubgroupScaledMatrixMultiplyAcc().


The documentation for this struct was generated from the following file: