tvm
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tvm::tirx::ExecContext Struct Reference

Per-program-point ExecContext: active set + scope kind + split. More...

#include <exec_context.h>

Collaboration diagram for tvm::tirx::ExecContext:

Public Member Functions

bool WithFilter (ScopeBinding binding, int64_t lo, int64_t hi, ExecContext *out, std::string *err) const
 Apply filter; scope_kind preserved, split recomputed. More...
 
bool WithSelector (ScopeBinding binding, PrimExpr selector, ExecContext *out, std::string *err) const
 Apply a unique-value selector filter on one scope id Var. More...
 
bool WithCtaAxisFilter (const std::string &axis, int64_t lo, int64_t hi, ExecContext *out, std::string *err) const
 Apply filter on a factorized CTA axis such as cbx/cby/cbz. More...
 
bool WithCtaAxisModulo (const std::string &axis, int64_t modulus, int64_t residue, ExecContext *out, std::string *err) const
 Apply modulo filter on a factorized CTA axis such as cbx/cby/cbz. More...
 
bool WithScopeSwitch (ScopeKind new_scope_kind, ExecContext *out, std::string *err) const
 Apply scope_switch; A preserved, split recomputed for new scope_kind. More...
 

Static Public Member Functions

static ExecContext AtKernelEntry (int64_t lane_ext, int64_t warp_ext, int64_t cta_ext)
 Kernel-entry ctor. More...
 
static ExecContext AtKernelEntry (int64_t lane_ext, int64_t warp_ext, int64_t cta_ext, const std::vector< std::pair< std::string, int64_t >> &cta_axes)
 

Public Attributes

ActiveSet A
 
ScopeKind scope_kind = ScopeKind::kKernel
 
ExecSplit split
 

Detailed Description

Per-program-point ExecContext: active set + scope kind + split.

Member Function Documentation

◆ AtKernelEntry() [1/2]

static ExecContext tvm::tirx::ExecContext::AtKernelEntry ( int64_t  lane_ext,
int64_t  warp_ext,
int64_t  cta_ext 
)
static

Kernel-entry ctor.

◆ AtKernelEntry() [2/2]

static ExecContext tvm::tirx::ExecContext::AtKernelEntry ( int64_t  lane_ext,
int64_t  warp_ext,
int64_t  cta_ext,
const std::vector< std::pair< std::string, int64_t >> &  cta_axes 
)
static

◆ WithCtaAxisFilter()

bool tvm::tirx::ExecContext::WithCtaAxisFilter ( const std::string &  axis,
int64_t  lo,
int64_t  hi,
ExecContext out,
std::string *  err 
) const

Apply filter on a factorized CTA axis such as cbx/cby/cbz.

◆ WithCtaAxisModulo()

bool tvm::tirx::ExecContext::WithCtaAxisModulo ( const std::string &  axis,
int64_t  modulus,
int64_t  residue,
ExecContext out,
std::string *  err 
) const

Apply modulo filter on a factorized CTA axis such as cbx/cby/cbz.

◆ WithFilter()

bool tvm::tirx::ExecContext::WithFilter ( ScopeBinding  binding,
int64_t  lo,
int64_t  hi,
ExecContext out,
std::string *  err 
) const

Apply filter; scope_kind preserved, split recomputed.

◆ WithScopeSwitch()

bool tvm::tirx::ExecContext::WithScopeSwitch ( ScopeKind  new_scope_kind,
ExecContext out,
std::string *  err 
) const

Apply scope_switch; A preserved, split recomputed for new scope_kind.

◆ WithSelector()

bool tvm::tirx::ExecContext::WithSelector ( ScopeBinding  binding,
PrimExpr  selector,
ExecContext out,
std::string *  err 
) const

Apply a unique-value selector filter on one scope id Var.

Member Data Documentation

◆ A

ActiveSet tvm::tirx::ExecContext::A

◆ scope_kind

ScopeKind tvm::tirx::ExecContext::scope_kind = ScopeKind::kKernel

◆ split

ExecSplit tvm::tirx::ExecContext::split

The documentation for this struct was generated from the following file: