Mojo struct
WarpRole
@register_passable(trivial)
struct WarpRole
Warp role identifiers for SM100 warp-specialized kernel.
Warp assignment (8 warps total = 256 threads):
- Epilogue: warp IDs 0-3 (4 warps, 128 threads)
- Scheduler: warp ID 4 (1 warp, 32 threads)
- MainLoad: warp ID 5 (1 warp, 32 threads)
- Mma: warp ID 6 (1 warp, 32 threads)
- EpilogueLoad: warp ID 7 (1 warp, 32 threads) - loads source C for residual
Note: When epilogue load is not needed (no residual), warp 7 exits early.
Implemented traits
AnyType,
Copyable,
ImplicitlyCopyable,
ImplicitlyDestructible,
Movable,
RegisterPassable,
TrivialRegisterPassable
comptime members
__copyinit__is_trivial
comptime __copyinit__is_trivial = True
__del__is_trivial
comptime __del__is_trivial = True
__moveinit__is_trivial
comptime __moveinit__is_trivial = True
Epilogue
comptime Epilogue = WarpRole(3)
EpilogueLoad
comptime EpilogueLoad = WarpRole(7)
MainLoad
comptime MainLoad = WarpRole(5)
Mma
comptime Mma = WarpRole(6)
Scheduler
comptime Scheduler = WarpRole(4)
Methods
__eq__
__ne__
__ge__
is_main_load
is_mma
is_epilogue
is_scheduler
is_epilogue_load
static is_epilogue_load() -> Bool
Check if current warp is the epilogue load warp (loads source C).
Returns:
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!