tvm
Classes | Namespaces | Enumerations
sblock_scope.h File Reference

Definition of two pillar data structure for TensorIR scheduling: StmtSRef, SBlockScope. More...

#include <tvm/ir/module.h>
#include <tvm/tirx/function.h>
#include <tvm/tirx/stmt.h>
#include <tvm/tirx/stmt_functor.h>
#include <unordered_map>
#include <utility>
#include <vector>
Include dependency graph for sblock_scope.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::tirx::StmtSRefNode
 An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref". More...
 
class  tvm::tirx::StmtSRef
 Managed reference to StmtSRefNode. More...
 
class  tvm::tirx::SRefTreeCreator
 
class  tvm::tirx::DependencyNode
 A tuple (src, dst, kind) representing certain types of dependency. For example, (A, B, kRAW) means block B depends on block A, and the dependency kind is read-after-write, which means block B reads the result written by block A. More...
 
class  tvm::tirx::Dependency
 Managed reference to DependencyNode. More...
 
class  tvm::tirx::SBlockScopeNode
 An object with 1-to-1 correspondence with each block reference in the sref tree. This data structure is used to track the producer-consumer dependencies between blocks. For example even leaf nodes have a scope node, even though they have no dependencies. More...
 
class  tvm::tirx::SBlockScope
 Managed reference to SBlockScopeNode. More...
 

Namespaces

 tvm
 An object that builds and maintains block scope and StmtSref mapping for Dependence analysis.
 
 tvm::tirx
 

Enumerations

enum class  tvm::tirx::DepKind : int32_t { tvm::tirx::kRAW = 0 , tvm::tirx::kWAW = 1 , tvm::tirx::kWAR = 2 , tvm::tirx::kOpaque = 3 }
 Type of dependency. Right now we have 4 types of dependencies 1) Read-after-write (kRAW) 2) Write-after-write (kWAW) 3) Write-after-read (kWAR) 4) Opaque dependency (kOpaque) More...
 

Detailed Description

Definition of two pillar data structure for TensorIR scheduling: StmtSRef, SBlockScope.

See also
StmtSRefNode
SBlockScopeNode