tvm
Public Member Functions | Public Attributes | List of all members
tvm::tir::BlockInfo Struct Reference

The information about a TensorIR block, it contains two categories of information 1) Info on the block scope rooted at a specific block, including dependency tracking, flags indicating if the scope is a stage pipeline, etc. 2) Info on the block itself, including if the block has a quasi-affine binding, if the regions it reads are completely covered by their producers, etc. More...

#include <state.h>

Collaboration diagram for tvm::tir::BlockInfo:

Public Member Functions

 BlockInfo ()=default
 
 BlockInfo (BlockScope scope, bool affine_binding=false, bool region_cover=false, bool stage_pipeline=false)
 

Public Attributes

BlockScope scope {nullptr}
 Property of a block scope rooted at the block, storing dependencies in the scope. More...
 
bool affine_binding {false}
 Property of a block, indicating the block realization binding is quasi-affine. More...
 
bool region_cover {false}
 Property of a block, indicating each of the block's read regions is fully produced by its producers. More...
 
bool stage_pipeline {false}
 This property indicates that the block scope (rooted at its corresponding block) is equivalent to of a stage pipeline. Under the following conditions: More...
 

Detailed Description

The information about a TensorIR block, it contains two categories of information 1) Info on the block scope rooted at a specific block, including dependency tracking, flags indicating if the scope is a stage pipeline, etc. 2) Info on the block itself, including if the block has a quasi-affine binding, if the regions it reads are completely covered by their producers, etc.

Constructor & Destructor Documentation

◆ BlockInfo() [1/2]

tvm::tir::BlockInfo::BlockInfo ( )
default

◆ BlockInfo() [2/2]

tvm::tir::BlockInfo::BlockInfo ( BlockScope  scope,
bool  affine_binding = false,
bool  region_cover = false,
bool  stage_pipeline = false 
)
inlineexplicit

Member Data Documentation

◆ affine_binding

bool tvm::tir::BlockInfo::affine_binding {false}

Property of a block, indicating the block realization binding is quasi-affine.

◆ region_cover

bool tvm::tir::BlockInfo::region_cover {false}

Property of a block, indicating each of the block's read regions is fully produced by its producers.

◆ scope

BlockScope tvm::tir::BlockInfo::scope {nullptr}

Property of a block scope rooted at the block, storing dependencies in the scope.

◆ stage_pipeline

bool tvm::tir::BlockInfo::stage_pipeline {false}

This property indicates that the block scope (rooted at its corresponding block) is equivalent to of a stage pipeline. Under the following conditions:

1) The region cover property holds for every of its child blocks 2) No write-after-read dependency or opaque dependency, only read-after-write and write-after-write are allowed 3) All the statements in the scope are schedulable statements, i.e. Block and For


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