FreeTensor
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
freetensor::MatMulNode Class Reference

#include <stmt.h>

Inheritance diagram for freetensor::MatMulNode:
Inheritance graph
[legend]
Collaboration diagram for freetensor::MatMulNode:
Collaboration graph
[legend]

Public Member Functions

std::vector< Stmtchildren () const override
 
void compHash () override
 
 DEFINE_NODE_TRAIT (MatMul)
 
- Public Member Functions inherited from freetensor::StmtNode
void setId (const ID &id=ID::make())
 
ID id () const
 
const Metadatametadata () const
 
Metadatametadata ()
 
bool isStmt () const override
 
virtual bool isCtrlFlow () const
 
virtual std::vector< Ref< StmtNode > > children () const
 
Ref< StmtNodeprevLeafStmtInDFSOrder () const
 
Ref< StmtNodenextLeafStmtInDFSOrder () const
 
Ref< StmtNodeprevStmtInDFSPostOrder () const
 
Ref< StmtNodenextStmtInDFSPreOrder () const
 
Ref< StmtNodeancestorById (const ID &lookup) const
 
bool isAncestorOf (const Stmt &other) const
 
bool isBefore (const Stmt &other) const
 
 DEFINE_NODE_ACCESS (Stmt)
 
Ref< StmtNodeparentStmt () const
 
Ref< StmtNodeparentStmtByFilter (const std::function< bool(const Stmt &)> &filter) const
 
Ref< StmtNodeprevStmt () const
 
Ref< StmtNodenextStmt () const
 
Ref< StmtNodeparentCtrlFlow () const
 
Ref< StmtNodeprevInCtrlFlow () const
 
Ref< StmtNodenextInCtrlFlow () const
 
- Public Member Functions inherited from freetensor::ASTNode
virtual ~ASTNode ()
 
virtual ASTNodeType nodeType () const =0
 
bool isAST () const override
 
virtual bool isFunc () const
 
virtual bool isStmt () const
 
virtual bool isExpr () const
 
Ref< ASTNodeparentAST () const
 
std::source_location debugBlame () const
 
void setDebugBlame (std::source_location loc)
 
 DEFINE_NODE_ACCESS (AST)
 
- Public Member Functions inherited from freetensor::ASTPart
virtual ~ASTPart ()
 
 ASTPart (ASTPart &&other)
 
 ASTPart (const ASTPart &other)
 
ASTPartoperator= (ASTPart &&)
 
ASTPartoperator= (const ASTPart &)
 
bool trySetParent (const Ref< ASTPart > &parent)
 
void resetParent ()
 
Ref< ASTPartparent () const
 
bool isSubTree () const
 
int depth () const
 
virtual void modifiedHook ()
 
size_t hash ()
 
virtual bool isAST () const
 
- Public Member Functions inherited from freetensor::EnableSelf< ASTPart >
Ref< ASTPartself () const
 

Public Attributes

MatMulBackend backend_
 
SubTree< CutlassMicroKernelProperty, NullPolicy::NullablecutlassMicroKernelProperty_ = ChildOf{this}
 
SubTree< ExprNodea_ = ChildOf{this}
 
SubTree< ExprNodeb_ = ChildOf{this}
 
SubTree< ExprNodec_ = ChildOf{this}
 
SubTree< ExprNodealpha_ = ChildOf{this}
 
SubTree< ExprNodebeta_ = ChildOf{this}
 
SubTree< ExprNodem_ = ChildOf{this}
 
SubTree< ExprNodek_ = ChildOf{this}
 
SubTree< ExprNoden_ = ChildOf{this}
 
SubTree< ExprNodelda_ = ChildOf{this}
 
SubTree< ExprNodeldb_ = ChildOf{this}
 
SubTree< ExprNodeldc_ = ChildOf{this}
 
SubTree< ExprNodestridea_ = ChildOf{this}
 
SubTree< ExprNodestrideb_ = ChildOf{this}
 
SubTree< ExprNodestridec_ = ChildOf{this}
 
SubTree< ExprNodebatchSize_ = ChildOf{this}
 
bool aIsRowMajor_
 
bool bIsRowMajor_
 
bool cIsRowMajor_
 
SubTree< StmtNodeequivalent_
 

Additional Inherited Members

- Public Types inherited from freetensor::EnableSelf< ASTPart >
typedef ASTPart Self
 
- Protected Member Functions inherited from freetensor::ASTPart
void lock ()
 
void unlock ()
 
virtual void compHash ()=0
 
void resetHash ()
 
- Protected Attributes inherited from freetensor::ASTPart
size_t hash_ = ~0ull
 
std::atomic_flag lock_ = ATOMIC_FLAG_INIT
 

Detailed Description

External call to a batched GEMM

Member Function Documentation

◆ children()

std::vector< Stmt > freetensor::MatMulNode::children ( ) const
inlineoverridevirtual

Reimplemented from freetensor::StmtNode.

◆ compHash()

void freetensor::MatMulNode::compHash ( )
overridevirtual

Implements freetensor::ASTPart.

◆ DEFINE_NODE_TRAIT()

freetensor::MatMulNode::DEFINE_NODE_TRAIT ( MatMul  )

Member Data Documentation

◆ a_

SubTree<ExprNode> freetensor::MatMulNode::a_ = ChildOf{this}

◆ aIsRowMajor_

bool freetensor::MatMulNode::aIsRowMajor_

◆ alpha_

SubTree<ExprNode> freetensor::MatMulNode::alpha_ = ChildOf{this}

◆ b_

SubTree<ExprNode> freetensor::MatMulNode::b_ = ChildOf{this}

◆ backend_

MatMulBackend freetensor::MatMulNode::backend_

◆ batchSize_

SubTree<ExprNode> freetensor::MatMulNode::batchSize_ = ChildOf{this}

◆ beta_

SubTree<ExprNode> freetensor::MatMulNode::beta_ = ChildOf{this}

◆ bIsRowMajor_

bool freetensor::MatMulNode::bIsRowMajor_

◆ c_

SubTree<ExprNode> freetensor::MatMulNode::c_ = ChildOf{this}

◆ cIsRowMajor_

bool freetensor::MatMulNode::cIsRowMajor_

◆ cutlassMicroKernelProperty_

SubTree<CutlassMicroKernelProperty, NullPolicy::Nullable> freetensor::MatMulNode::cutlassMicroKernelProperty_ = ChildOf{this}

◆ equivalent_

SubTree<StmtNode> freetensor::MatMulNode::equivalent_
Initial value:
= ChildOf{
this}

◆ k_

SubTree<ExprNode> freetensor::MatMulNode::k_ = ChildOf{this}

◆ lda_

SubTree<ExprNode> freetensor::MatMulNode::lda_ = ChildOf{this}

◆ ldb_

SubTree<ExprNode> freetensor::MatMulNode::ldb_ = ChildOf{this}

◆ ldc_

SubTree<ExprNode> freetensor::MatMulNode::ldc_ = ChildOf{this}

◆ m_

SubTree<ExprNode> freetensor::MatMulNode::m_ = ChildOf{this}

◆ n_

SubTree<ExprNode> freetensor::MatMulNode::n_ = ChildOf{this}

◆ stridea_

SubTree<ExprNode> freetensor::MatMulNode::stridea_ = ChildOf{this}

◆ strideb_

SubTree<ExprNode> freetensor::MatMulNode::strideb_ = ChildOf{this}

◆ stridec_

SubTree<ExprNode> freetensor::MatMulNode::stridec_ = ChildOf{this}

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