IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /get-started.md). For the complete documentation index, see llms.txt.
Skip to main content
For the complete documentation index, see llms.txt. Markdown versions of all pages are available by appending .md to any URL (e.g. /get-started.md).

Mojo struct

WarpRole

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, Deinitable, ImplicitlyCopyable, Movable, RegisterPassable, TrivialRegisterPassable

comptime members

Epilogue

comptime Epilogue = WarpRole(Int32(3))

EpilogueLoad

comptime EpilogueLoad = WarpRole(Int32(7))

MainLoad

comptime MainLoad = WarpRole(Int32(5))

Mma

comptime Mma = WarpRole(Int32(6))

Scheduler

comptime Scheduler = WarpRole(Int32(4))

Methods

__eq__

def __eq__(self, other: Int) -> Bool

Returns:

Bool

def __eq__(self, other: Self) -> Bool

Returns:

Bool

__ne__

def __ne__(self, other: Self) -> Bool

Returns:

Bool

__ge__

def __ge__(self, other: Int) -> Bool

Returns:

Bool

is_main_load

static def is_main_load() -> Bool

Returns:

Bool

is_mma

static def is_mma() -> Bool

Returns:

Bool

is_epilogue

static def is_epilogue() -> Bool

Returns:

Bool

is_scheduler

static def is_scheduler() -> Bool

Returns:

Bool

is_epilogue_load

static def is_epilogue_load() -> Bool

Check if current warp is the epilogue load warp (loads source C).

Returns:

Bool