tvm
Classes | Namespaces | Enumerations
block_scope.h File Reference

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

#include <tvm/ir/module.h>
#include <tvm/tir/function.h>
#include <tvm/tir/stmt.h>
#include <tvm/tir/stmt_functor.h>
#include <unordered_map>
#include <utility>
#include <vector>
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::SRefTreeCreator
 
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 class  tvm::tir::DepKind : int32_t { tvm::tir::kRAW = 0 , tvm::tir::kWAW = 1 , tvm::tir::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