Mojo struct
TileScheduler
struct TileScheduler[problem_shape: IndexList[3], tile_shape: IndexList[3], grid_shape: IndexList[2], cluster: IndexList[3] = Index[Int, Int, Int](1, 1, 1), raster_dim: UInt32 = UInt32(1), schedule: MatmulSchedule = MatmulSchedule.TILE2D]
Fieldsβ
- βidx (
UInt32): - βprob_shape (
IndexList[3]): - βnum_waves_m (
UInt32): - βnum_waves_n (
UInt32): - βlog_num_waves_n (
FastDiv[DType.uint32]): - βcurrent_iter (
Int): - βnum_aligned_m_blocks (
UInt32): - βnum_blocks (
UInt32):
Implemented traitsβ
AnyType,
Copyable,
ImplicitlyCopyable,
ImplicitlyDestructible,
Movable,
RegisterPassable,
TrivialRegisterPassable
comptime membersβ
kNum1DBlocksPerGroupβ
comptime kNum1DBlocksPerGroup = UInt32(16)
kNumNBlocksβ
comptime kNumNBlocks = SIMD(ceildiv(problem_shape[1], tile_shape[1]))
num_gridsβ
comptime num_grids = SIMD((grid_shape[0] * grid_shape[1]))
wave_shapeβ
comptime wave_shape = Index[Int, Int, dtype=DType.uint32]((tile_shape[0] * grid_shape[1]), (tile_shape[1] * grid_shape[0]))
Methodsβ
__init__β
__init__(prob_shape: IndexList[3]) -> Self
get_current_work_infoβ
get_current_work_info(mut self) -> WorkInfo
Returns:
WorkInfo
advanceβ
advance(mut self)
fetch_next_workβ
fetch_next_work(mut self) -> WorkInfo
Returns:
WorkInfo
num_output_tilesβ
fetch_next_work_dsβ
fetch_next_work_ds(mut self) -> WorkInfo
Returns:
WorkInfo
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!