TT-MLIR
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | List of all members
mlir::tt::ttnn::MatmulOp Class Reference
Inheritance diagram for mlir::tt::ttnn::MatmulOp:

Public Types

using Adaptor = MatmulOpAdaptor
 
template<typename RangeT >
using GenericAdaptor = MatmulOpGenericAdaptor< RangeT >
 
using FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute > >
 
using Properties = FoldAdaptor::Properties
 

Public Member Functions

static ::llvm::ArrayRef<::llvm::StringRef > getAttributeNames ()
 
::mlir::StringAttr getMatmulProgramConfigAttrName ()
 
::mlir::StringAttr getTransposeAAttrName ()
 
::mlir::StringAttr getTransposeBAttrName ()
 
std::pair< unsigned, unsigned > getODSOperandIndexAndLength (unsigned index)
 
::mlir::Operation::operand_range getODSOperands (unsigned index)
 
::mlir::TypedValue<::mlir::RankedTensorType > getA ()
 
::mlir::TypedValue<::mlir::RankedTensorType > getB ()
 
::mlir::OpOperand & getAMutable ()
 
::mlir::OpOperand & getBMutable ()
 
std::pair< unsigned, unsigned > getODSResultIndexAndLength (unsigned index)
 
::mlir::Operation::result_range getODSResults (unsigned index)
 
::mlir::TypedValue<::mlir::RankedTensorType > getResult ()
 
void writeProperties (::mlir::DialectBytecodeWriter &writer)
 
::mlir::BoolAttr getTransposeAAttr ()
 
bool getTransposeA ()
 
::mlir::BoolAttr getTransposeBAttr ()
 
bool getTransposeB ()
 
::mlir::Attribute getMatmulProgramConfigAttr ()
 
::std::optional<::mlir::Attribute > getMatmulProgramConfig ()
 
void setTransposeAAttr (::mlir::BoolAttr attr)
 
void setTransposeA (bool attrValue)
 
void setTransposeBAttr (::mlir::BoolAttr attr)
 
void setTransposeB (bool attrValue)
 
void setMatmulProgramConfigAttr (::mlir::Attribute attr)
 
::mlir::Attribute removeMatmulProgramConfigAttr ()
 
::llvm::LogicalResult verifyInvariantsImpl ()
 
::llvm::LogicalResult verifyInvariants ()
 
::llvm::LogicalResult verify ()
 
llvm::Expected< size_t > getOpRuntime (const std::vector< TTNNLayoutAttr > &inputs, const TTNNLayoutAttr &output)
 
llvm::Expected< std::tuple< size_t, size_t, size_t, ::mlir::tt::ttnn::TTNNLayoutAttr > > getOpConstraints (const std::vector< TTNNLayoutAttr > &inputs, const TTNNLayoutAttr &output)
 
void getEffects (::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect >> &effects)
 

Static Public Member Functions

::mlir::StringAttr getMatmulProgramConfigAttrName (::mlir::OperationName name)
 
::mlir::StringAttr getTransposeAAttrName (::mlir::OperationName name)
 
::mlir::StringAttr getTransposeBAttrName (::mlir::OperationName name)
 
static constexpr ::llvm::StringLiteral getOperationName ()
 
::llvm::LogicalResult setPropertiesFromAttr (Properties &prop, ::mlir::Attribute attr, ::llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
 
::mlir::Attribute getPropertiesAsAttr (::mlir::MLIRContext *ctx, const Properties &prop)
 
static llvm::hash_code computePropertiesHash (const Properties &prop)
 
static std::optional< mlir::Attribute > getInherentAttr (::mlir::MLIRContext *ctx, const Properties &prop, llvm::StringRef name)
 
static void setInherentAttr (Properties &prop, llvm::StringRef name, mlir::Attribute value)
 
static void populateInherentAttrs (::mlir::MLIRContext *ctx, const Properties &prop, ::mlir::NamedAttrList &attrs)
 
::llvm::LogicalResult verifyInherentAttrs (::mlir::OperationName opName, ::mlir::NamedAttrList &attrs, llvm::function_ref<::mlir::InFlightDiagnostic()> emitError)
 
::llvm::LogicalResult readProperties (::mlir::DialectBytecodeReader &reader, ::mlir::OperationState &state)
 
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value a, ::mlir::Value b, ::mlir::BoolAttr transpose_a, ::mlir::BoolAttr transpose_b, ::mlir::Attribute matmul_program_config)
 
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value a, ::mlir::Value b, ::mlir::BoolAttr transpose_a, ::mlir::BoolAttr transpose_b, ::mlir::Attribute matmul_program_config)
 
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::Type result, ::mlir::Value a, ::mlir::Value b, bool transpose_a, bool transpose_b, ::mlir::Attribute matmul_program_config)
 
static void build (::mlir::OpBuilder &odsBuilder, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::Value a, ::mlir::Value b, bool transpose_a, bool transpose_b, ::mlir::Attribute matmul_program_config)
 
static void build (::mlir::OpBuilder &, ::mlir::OperationState &odsState, ::mlir::TypeRange resultTypes, ::mlir::ValueRange operands, ::llvm::ArrayRef<::mlir::NamedAttribute > attributes={})
 
static void populateDefaultProperties (::mlir::OperationName opName, Properties &properties)
 

Private Member Functions

::mlir::StringAttr getAttributeNameForIndex (unsigned index)
 

Static Private Member Functions

::mlir::StringAttr getAttributeNameForIndex (::mlir::OperationName name, unsigned index)
 

Member Typedef Documentation

◆ Adaptor

◆ FoldAdaptor

using mlir::tt::ttnn::MatmulOp::FoldAdaptor = GenericAdaptor<::llvm::ArrayRef<::mlir::Attribute> >

◆ GenericAdaptor

template<typename RangeT >
using mlir::tt::ttnn::MatmulOp::GenericAdaptor = MatmulOpGenericAdaptor<RangeT>

◆ Properties

Member Function Documentation

◆ build() [1/5]

void mlir::tt::ttnn::MatmulOp::build ( ::mlir::OpBuilder &  ,
::mlir::OperationState &  odsState,
::mlir::TypeRange  resultTypes,
::mlir::ValueRange  operands,
::llvm::ArrayRef<::mlir::NamedAttribute >  attributes = {} 
)
static

◆ build() [2/5]

void mlir::tt::ttnn::MatmulOp::build ( ::mlir::OpBuilder &  odsBuilder,
::mlir::OperationState &  odsState,
::mlir::Type  result,
::mlir::Value  a,
::mlir::Value  b,
::mlir::BoolAttr  transpose_a,
::mlir::BoolAttr  transpose_b,
::mlir::Attribute  matmul_program_config 
)
static

◆ build() [3/5]

void mlir::tt::ttnn::MatmulOp::build ( ::mlir::OpBuilder &  odsBuilder,
::mlir::OperationState &  odsState,
::mlir::Type  result,
::mlir::Value  a,
::mlir::Value  b,
bool  transpose_a,
bool  transpose_b,
::mlir::Attribute  matmul_program_config 
)
static

◆ build() [4/5]

void mlir::tt::ttnn::MatmulOp::build ( ::mlir::OpBuilder &  odsBuilder,
::mlir::OperationState &  odsState,
::mlir::TypeRange  resultTypes,
::mlir::Value  a,
::mlir::Value  b,
::mlir::BoolAttr  transpose_a,
::mlir::BoolAttr  transpose_b,
::mlir::Attribute  matmul_program_config 
)
static

◆ build() [5/5]

void mlir::tt::ttnn::MatmulOp::build ( ::mlir::OpBuilder &  odsBuilder,
::mlir::OperationState &  odsState,
::mlir::TypeRange  resultTypes,
::mlir::Value  a,
::mlir::Value  b,
bool  transpose_a,
bool  transpose_b,
::mlir::Attribute  matmul_program_config 
)
static

◆ computePropertiesHash()

llvm::hash_code mlir::tt::ttnn::MatmulOp::computePropertiesHash ( const Properties prop)
static

◆ getA()

::mlir::TypedValue<::mlir::RankedTensorType> mlir::tt::ttnn::MatmulOp::getA ( )
inline

◆ getAMutable()

::mlir::OpOperand& mlir::tt::ttnn::MatmulOp::getAMutable ( )
inline

◆ getAttributeNameForIndex() [1/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getAttributeNameForIndex ( ::mlir::OperationName  name,
unsigned  index 
)
inlinestaticprivate

◆ getAttributeNameForIndex() [2/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getAttributeNameForIndex ( unsigned  index)
inlineprivate

◆ getAttributeNames()

static ::llvm::ArrayRef<::llvm::StringRef> mlir::tt::ttnn::MatmulOp::getAttributeNames ( )
inline

◆ getB()

::mlir::TypedValue<::mlir::RankedTensorType> mlir::tt::ttnn::MatmulOp::getB ( )
inline

◆ getBMutable()

::mlir::OpOperand& mlir::tt::ttnn::MatmulOp::getBMutable ( )
inline

◆ getEffects()

void mlir::tt::ttnn::MatmulOp::getEffects ( ::llvm::SmallVectorImpl<::mlir::SideEffects::EffectInstance<::mlir::MemoryEffects::Effect >> &  effects)

◆ getInherentAttr()

std::optional< mlir::Attribute > mlir::tt::ttnn::MatmulOp::getInherentAttr ( ::mlir::MLIRContext *  ctx,
const Properties prop,
llvm::StringRef  name 
)
static

◆ getMatmulProgramConfig()

std::optional<::mlir::Attribute > mlir::tt::ttnn::MatmulOp::getMatmulProgramConfig ( )

◆ getMatmulProgramConfigAttr()

::mlir::Attribute mlir::tt::ttnn::MatmulOp::getMatmulProgramConfigAttr ( )
inline

◆ getMatmulProgramConfigAttrName() [1/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getMatmulProgramConfigAttrName ( )
inline

◆ getMatmulProgramConfigAttrName() [2/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getMatmulProgramConfigAttrName ( ::mlir::OperationName  name)
inlinestatic

◆ getODSOperandIndexAndLength()

std::pair<unsigned, unsigned> mlir::tt::ttnn::MatmulOp::getODSOperandIndexAndLength ( unsigned  index)
inline

◆ getODSOperands()

::mlir::Operation::operand_range mlir::tt::ttnn::MatmulOp::getODSOperands ( unsigned  index)
inline

◆ getODSResultIndexAndLength()

std::pair<unsigned, unsigned> mlir::tt::ttnn::MatmulOp::getODSResultIndexAndLength ( unsigned  index)
inline

◆ getODSResults()

::mlir::Operation::result_range mlir::tt::ttnn::MatmulOp::getODSResults ( unsigned  index)
inline

◆ getOpConstraints()

llvm::Expected<std::tuple<size_t, size_t, size_t, ::mlir::tt::ttnn::TTNNLayoutAttr> > mlir::tt::ttnn::MatmulOp::getOpConstraints ( const std::vector< TTNNLayoutAttr > &  inputs,
const TTNNLayoutAttr output 
)

◆ getOperationName()

static constexpr ::llvm::StringLiteral mlir::tt::ttnn::MatmulOp::getOperationName ( )
inlinestatic

◆ getOpRuntime()

llvm::Expected<size_t> mlir::tt::ttnn::MatmulOp::getOpRuntime ( const std::vector< TTNNLayoutAttr > &  inputs,
const TTNNLayoutAttr output 
)

◆ getPropertiesAsAttr()

mlir::Attribute mlir::tt::ttnn::MatmulOp::getPropertiesAsAttr ( ::mlir::MLIRContext *  ctx,
const Properties prop 
)
static

◆ getResult()

::mlir::TypedValue<::mlir::RankedTensorType> mlir::tt::ttnn::MatmulOp::getResult ( )
inline

◆ getTransposeA()

bool mlir::tt::ttnn::MatmulOp::getTransposeA ( )

◆ getTransposeAAttr()

::mlir::BoolAttr mlir::tt::ttnn::MatmulOp::getTransposeAAttr ( )
inline

◆ getTransposeAAttrName() [1/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getTransposeAAttrName ( )
inline

◆ getTransposeAAttrName() [2/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getTransposeAAttrName ( ::mlir::OperationName  name)
inlinestatic

◆ getTransposeB()

bool mlir::tt::ttnn::MatmulOp::getTransposeB ( )

◆ getTransposeBAttr()

::mlir::BoolAttr mlir::tt::ttnn::MatmulOp::getTransposeBAttr ( )
inline

◆ getTransposeBAttrName() [1/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getTransposeBAttrName ( )
inline

◆ getTransposeBAttrName() [2/2]

::mlir::StringAttr mlir::tt::ttnn::MatmulOp::getTransposeBAttrName ( ::mlir::OperationName  name)
inlinestatic

◆ populateDefaultProperties()

void mlir::tt::ttnn::MatmulOp::populateDefaultProperties ( ::mlir::OperationName  opName,
Properties properties 
)
static

◆ populateInherentAttrs()

void mlir::tt::ttnn::MatmulOp::populateInherentAttrs ( ::mlir::MLIRContext *  ctx,
const Properties prop,
::mlir::NamedAttrList &  attrs 
)
static

◆ readProperties()

llvm::LogicalResult mlir::tt::ttnn::MatmulOp::readProperties ( ::mlir::DialectBytecodeReader &  reader,
::mlir::OperationState &  state 
)
static

◆ removeMatmulProgramConfigAttr()

::mlir::Attribute mlir::tt::ttnn::MatmulOp::removeMatmulProgramConfigAttr ( )
inline

◆ setInherentAttr()

void mlir::tt::ttnn::MatmulOp::setInherentAttr ( Properties prop,
llvm::StringRef  name,
mlir::Attribute  value 
)
static

◆ setMatmulProgramConfigAttr()

void mlir::tt::ttnn::MatmulOp::setMatmulProgramConfigAttr ( ::mlir::Attribute  attr)
inline

◆ setPropertiesFromAttr()

llvm::LogicalResult mlir::tt::ttnn::MatmulOp::setPropertiesFromAttr ( Properties prop,
::mlir::Attribute  attr,
::llvm::function_ref<::mlir::InFlightDiagnostic()>  emitError 
)
static

◆ setTransposeA()

void mlir::tt::ttnn::MatmulOp::setTransposeA ( bool  attrValue)

◆ setTransposeAAttr()

void mlir::tt::ttnn::MatmulOp::setTransposeAAttr ( ::mlir::BoolAttr  attr)
inline

◆ setTransposeB()

void mlir::tt::ttnn::MatmulOp::setTransposeB ( bool  attrValue)

◆ setTransposeBAttr()

void mlir::tt::ttnn::MatmulOp::setTransposeBAttr ( ::mlir::BoolAttr  attr)
inline

◆ verify()

::llvm::LogicalResult mlir::tt::ttnn::MatmulOp::verify ( )

◆ verifyInherentAttrs()

llvm::LogicalResult mlir::tt::ttnn::MatmulOp::verifyInherentAttrs ( ::mlir::OperationName  opName,
::mlir::NamedAttrList &  attrs,
llvm::function_ref<::mlir::InFlightDiagnostic()>  emitError 
)
static

◆ verifyInvariants()

llvm::LogicalResult mlir::tt::ttnn::MatmulOp::verifyInvariants ( )

◆ verifyInvariantsImpl()

llvm::LogicalResult mlir::tt::ttnn::MatmulOp::verifyInvariantsImpl ( )

◆ writeProperties()

void mlir::tt::ttnn::MatmulOp::writeProperties ( ::mlir::DialectBytecodeWriter &  writer)

The documentation for this class was generated from the following files: