MLIR  22.0.0git
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc Struct Reference

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

+ Inheritance diagram for mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc:

Public Member Functions

 SubgroupMatrixMultiplyAcc (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
 
- 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 170 of file IntelGpuXe2.h.

Constructor & Destructor Documentation

◆ SubgroupMatrixMultiplyAcc()

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

Definition at line 172 of file IntelGpuXe2.h.

References mlir::xegpu::uArch::Subgroup.

Member Function Documentation

◆ checkSupportedShapesAndTypes()

bool SubgroupMatrixMultiplyAcc::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 SubgroupMatrixMultiplyAcc::checkSupportedTypes ( Type  AType,
Type  BType,
Type  CType,
Type  DType 
)
inlineoverridevirtual

◆ classof()

static bool mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc::classof ( const Instruction B)
inlinestatic

Definition at line 178 of file IntelGpuXe2.h.

References mlir::xegpu::uArch::SubgroupMatrixMultiplyAcc.

◆ getPackedFormatBitSizeA()

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

Definition at line 210 of file IntelGpuXe2.h.

◆ getPackedFormatBitSizeB()

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

Definition at line 211 of file IntelGpuXe2.h.

◆ getSupportedK()

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

◆ getSupportedM()

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

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

Definition at line 402 of file IntelGpuXe2.h.

Referenced by getSupportedShapes().

◆ getSupportedN()

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

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

Definition at line 435 of file IntelGpuXe2.h.

Referenced by getSupportedShapes().

◆ getSupportedShapes()

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

◆ getSupportedTypes()

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

◆ validate()

bool SubgroupMatrixMultiplyAcc::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::SubgroupMatrixMultiplyAcc::packedFormatBitSizeA
protected

Definition at line 214 of file IntelGpuXe2.h.

◆ packedFormatBitSizeB

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

Definition at line 215 of file IntelGpuXe2.h.


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