For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /max/get-started.md).
Mojo struct
TileScheduler
struct TileScheduler[problem_shape: IndexList[Int(3)], tile_shape: IndexList[Int(3)], grid_shape: IndexList[Int(2)], cluster: IndexList[Int(3)] = Index[Int, Int, Int](Int(1), Int(1), Int(1)), raster_dim: UInt32 = UInt32(1), schedule: MatmulSchedule = MatmulSchedule.TILE2D]
Fieldsβ
- βidx (
UInt32): - βprob_shape (
IndexList[Int(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,
ImplicitlyDeletable,
Movable,
RegisterPassable,
TrivialRegisterPassable
comptime membersβ
kNum1DBlocksPerGroupβ
comptime kNum1DBlocksPerGroup = UInt32(16)
kNumNBlocksβ
comptime kNumNBlocks = SIMD(ceildiv(problem_shape[Int(1)], tile_shape[Int(1)]))
num_gridsβ
comptime num_grids = SIMD(Int((mul grid_shape[Int(0)], grid_shape[Int(1)])))
wave_shapeβ
comptime wave_shape = Index[Int, Int, dtype=DType.uint32](Int((mul grid_shape[Int(1)], tile_shape[Int(0)])), Int((mul grid_shape[Int(0)], tile_shape[Int(1)])))
Methodsβ
__init__β
def __init__(prob_shape: IndexList[Int(3)]) -> Self
get_current_work_infoβ
def get_current_work_info(mut self) -> WorkInfo
Returns:
WorkInfo
advanceβ
def advance(mut self)
fetch_next_workβ
def fetch_next_work(mut self) -> WorkInfo
Returns:
WorkInfo
num_output_tilesβ
fetch_next_work_dsβ
def 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!