tvm
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Enumerations
block_scope.h File Reference

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

#include <tvm/tir/stmt.h>
#include <unordered_map>
Include dependency graph for block_scope.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tvm::tir::StmtSRefNode
 An object that refers to schedulable elements (block/for-loop) in TensorIR, aka "sref". More...
 
class  tvm::tir::StmtSRef
 Managed reference to StmtSRefNode. More...
 
class  tvm::tir::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::tir::Dependency
 Managed reference to DependencyNode. More...
 
class  tvm::tir::BlockScopeNode
 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::tir::BlockScope
 Managed reference to BlockScopeNode. More...
 

Namespaces

 tvm
 runtime implementation for LibTorch/TorchScript.
 
 tvm::tir
 

Enumerations

enum  tvm::tir::DepKind : int32_t { tvm::tir::DepKind::kRAW = 0, tvm::tir::DepKind::kWAW = 1, tvm::tir::DepKind::kWAR = 2, tvm::tir::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, BlockScope.

See also
StmtSRefNode
BlockScopeNode