MCPcopy Create free account
hub / github.com/KnowingNothing/MatmulTutorial / PersistentTileSchedulerSm90

Class PersistentTileSchedulerSm90

util/simulator/tile_scheduler.py:6–33  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4
5
6class PersistentTileSchedulerSm90:
7 @dataclass
8 class WorkTileInfo:
9 M_idx: int = 0
10 N_idx: int = 0
11 L_idx: int = 0
12 is_valid_tile: bool = False
13
14 class RasterOrder(Enum):
15 AlongM = 0
16 AlongN = 1
17
18 @dataclass
19 class Arguments:
20 max_swizzle_size: int = 1
21
22 class Params:
23 def __init__(self, blocks_per_problem=0, log_swizzle_size=0, raster_order=None):
24 self.blocks_per_problem_ = blocks_per_problem
25 self.log_swizzle_size_ = log_swizzle_size
26 self.raster_order_ = (
27 raster_order
28 if raster_order is not None
29 else PersistentTileSchedulerSm90.RasterOrder.AlongN
30 )
31
32 def __init__(self, gpu_kernel: GPUKernel) -> None:
33 self.current_work_linear_idx_ = gpu_kernel.blockRange().x + gpu_kernel.blockRange().y * gpu_kernel

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected