tvm
Classes | Namespaces | Enumerations | Functions
exec_scope.h File Reference
#include <tvm/ffi/container/variant.h>
#include <tvm/ir/module.h>
#include <tvm/tirx/var.h>
#include <string>
#include <utility>
Include dependency graph for exec_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::ScopeIdDefNode
 
class  tvm::tirx::ScopeIdDef
 
class  tvm::tirx::ScopeIdDefVerifier
 
class  tvm::tirx::ScopeIdResolve
 Static resolver for ScopeIdDef values. Replaces the former ScopeIdResolveTable runtime registry with a closed-enum switch. More...
 
class  tvm::tirx::ExecScopeNode
 
class  tvm::tirx::ExecScope
 

Namespaces

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

Enumerations

enum class  tvm::tirx::ScopeKind : int {
  tvm::tirx::kWorld = 0 , tvm::tirx::kKernel = 1 , tvm::tirx::kCluster = 2 , tvm::tirx::kCta = 3 ,
  tvm::tirx::kWarpgroup = 4 , tvm::tirx::kWarp = 5 , tvm::tirx::kThread = 6
}
 The target execution scope kind of an ExecScopeStmt. More...
 
enum class  tvm::tirx::ScopeBinding : int {
  tvm::tirx::kKernelCluster = 0 , tvm::tirx::kKernelCta = 1 , tvm::tirx::kClusterCta = 2 , tvm::tirx::kCtaWarpgroup = 3 ,
  tvm::tirx::kCtaWarp = 4 , tvm::tirx::kWarpgroupWarp = 5 , tvm::tirx::kWarpThread = 6 , tvm::tirx::kCtaThread = 7 ,
  tvm::tirx::kWarpgroupThread = 8 , tvm::tirx::kClusterCtaPair = 9
}
 The binding between a parent scope and a child scope as used by a ScopeIdDef. The closed enum of valid (parent -> cur) pairs. More...
 

Functions

std::string tvm::tirx::ScopeKindToString (ScopeKind kind)
 Convert a ScopeKind to its string name (e.g. kKernel -> "kernel"). More...
 
ScopeKind tvm::tirx::StringToScopeKind (const ffi::String &name)
 Parse a string name to a ScopeKind. FATAL if unknown. More...
 
std::pair< ffi::String, ffi::String > tvm::tirx::ScopeBindingToStringPair (ScopeBinding binding)
 Convert a ScopeBinding to its (parent, cur) string pair. More...
 
ScopeBinding tvm::tirx::StringPairToScopeBinding (const ffi::String &parent, const ffi::String &cur)
 Parse a (parent, cur) string pair to a ScopeBinding. FATAL if unknown. More...
 
bool tvm::tirx::ScopeKindHigher (ScopeKind a, ScopeKind b)
 Strict-weak "a is wider than b" on scope kinds: world > kernel > cluster > cta > warpgroup > warp > thread. Only used by axe-layout scope-chain validity (the rest of the codebase compares scope identities with ==). More...
 
bool tvm::tirx::ScopeNameHigher (const ffi::String &a, const ffi::String &b)
 String-keyed convenience over ScopeKindHigher. FATALs on bad name. More...