tilelang.carver.common_schedules

Common schedule strategies for TIR.

函式

get_block(sch, blocks, name)

Get the target block from a schedule.

get_output_blocks(sch, blocks)

Get the output blocks of a schedule.

try_inline(sch, blocks)

Try to inline as many blocks as possible, and return the remaining blocks.

try_inline_contiguous_spatial(sch, block_infos)

Try to inline contiguous spatial blocks in a schedule

Module Contents

tilelang.carver.common_schedules.get_block(sch, blocks, name)

Get the target block from a schedule.

參數:
回傳:

target_block -- The target block.

回傳型別:

BlockRV

tilelang.carver.common_schedules.get_output_blocks(sch, blocks)

Get the output blocks of a schedule.

參數:
  • sch (tir.Schedule) -- The TIR schedule used to get output blocks.

  • blocks (List[BlockInfo]) -- The blocks to be analyzed.

回傳:

output_blocks -- The output blocks.

回傳型別:

List[BlockInfo]

tilelang.carver.common_schedules.try_inline(sch, blocks)

Try to inline as many blocks as possible, and return the remaining blocks.

參數:
  • sch (tir.Schedule) -- The TIR schedule used to inline blocks.

  • blocks (List[BlockInfo]) -- The blocks to be inlined.

回傳:

remaining -- The remaining blocks that cannot be inlined.

回傳型別:

List[BlockInfo]

tilelang.carver.common_schedules.try_inline_contiguous_spatial(sch, block_infos)

Try to inline contiguous spatial blocks in a schedule

參數:
  • sch (tir.Schedule) -- The TIR schedule used to inline blocks.

  • block_infos (List[BlockInfo]) -- The blocks to be try.

回傳:

remaining -- The remaining blocks that cannot be inlined.

回傳型別:

List[BlockInfo]