tilelang.carver.roller.node¶
PrimFunc Wrapper and Block information Analaysis
類別¶
函式¶
|
|
|
|
|
|
|
Module Contents¶
- tilelang.carver.roller.node.pre_order_traverse(block_analyzer, blocks, func)¶
- class tilelang.carver.roller.node.BlockAnalyzer(sch)¶
- sch: tvm.tir.Schedule¶
- block_infos: list[tilelang.carver.analysis.BlockInfo] = None¶
- get_block_name(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
str
- get_block_info(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
- get_spatial_axis(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.IterVar]
- get_reduce_axis(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.IterVar]
- get_input_buffers(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.Buffer]
- get_output_buffers(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.Buffer]
- get_buffers(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.Buffer]
- get_producer_blocks(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.schedule.schedule.BlockRV]
- get_consumer_blocks(block)¶
- 參數:
block (tvm.tir.schedule.schedule.BlockRV)
- 回傳型別:
list[tvm.tir.schedule.schedule.BlockRV]
- class tilelang.carver.roller.node.Node(tags=None, name='Node')¶
- 參數:
tags (dict | None)
name (str)
- name = 'Node'¶
- update_tags(tags)¶
- 參數:
tags (dict)
- 回傳型別:
None
- set_tag(k, v=True)¶
- 參數:
k (str)
v (Any)
- 回傳型別:
None
- add_tag(k, v=True)¶
- 參數:
k (str)
v (Any)
- 回傳型別:
None
- get_tag(k)¶
- 參數:
k (str)
- 回傳型別:
Any
- is_placeholder()¶
- is_output()¶
- get_dtype(id=0)¶
- 回傳型別:
tvm.DataType
- set_dtype(dtype, id=0)¶
- 參數:
dtype (tvm.DataType)
- 回傳型別:
None
- get_shape(id=0)¶
- 參數:
id (int)
- 回傳型別:
list[int]
- set_shape(shape, id=0, overwrite=False)¶
- 參數:
shape (list[int])
- 回傳型別:
None
- num_outputs()¶
- 回傳型別:
int
- abstractmethod get_ir()¶
- 回傳型別:
str
- __repr__()¶
- 回傳型別:
str
- class tilelang.carver.roller.node.PlaceHolderNode(name='')¶
Bases:
Node- is_placeholder()¶
- get_ir()¶
- 回傳型別:
str
- class tilelang.carver.roller.node.PrimFuncNode(prim_func, tags=None, name='PrimFuncNode')¶
Bases:
Node- 參數:
prim_func (tvm.tir.PrimFunc)
tags (dict | None)
name (str)
- prim_func¶
- sch: tvm.tir.Schedule¶
- block_analyzer: BlockAnalyzer¶
- schedule_stages: list[tvm.tir.schedule.schedule.BlockRV] = []¶
- blocks: list[tvm.tir.schedule.schedule.BlockRV] = []¶
- output_blocks: list[tvm.tir.schedule.schedule.BlockRV] = None¶
- reduction_block: tvm.tir.schedule.schedule.BlockRV = None¶
- raxis = []¶
- input_buffers = []¶
- output_buffers = []¶
- buffers = []¶
- args = []¶
- ana¶
- get_opt_shape(name)¶
- 回傳型別:
int
- extent_wrapper(value)¶
- 回傳型別:
int
- get_space_dim()¶
- 回傳型別:
list[int]
- set_dtype(dtype, id=0)¶
- 參數:
dtype (tvm.DataType)
- 回傳型別:
None
- get_buffer_dtype(buffer)¶
- 參數:
buffer (tvm.tir.Buffer)
- 回傳型別:
tvm.DataType
- propagate(tile, rstep=None, targets=None)¶
- 參數:
rstep (dict | None)
- propagate_inputs(tile, rstep=None)¶
- 參數:
rstep (dict | None)
- 回傳型別:
list[list[int]]
- propagate_inputs_on_reduction(tile, rstep=None)¶
- 參數:
rstep (dict | None)
- 回傳型別:
list[list[int]]
- propagate_outputs(tile, rstep=None)¶
- 參數:
rstep (dict | None)
- 回傳型別:
list[list[int]]
- propagate_reduction_inputs(shape, rstep=None)¶
- 參數:
rstep (dict | None)
- 回傳型別:
dict[str, list[int]]
- get_reduce_inputs_dtype()¶
- infer_tensorcore_axis()¶
- 回傳型別:
tuple[int]
- footprint(shape, rstep, stride_map=None)¶
- 參數:
stride_map (dict | None)
- 回傳型別:
int
- get_input_buffers()¶
- 回傳型別:
list[tvm.tir.Buffer]