IMPORTANT: To view this page as Markdown, append `.md` to the URL (e.g. /max/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. /max/get-started.md).

Mojo struct

BlackwellProfileWarp

struct BlackwellProfileWarp[workspace_origin: MutOrigin, load_warps: UInt32, mma_warps: UInt32, scheduler_warps: UInt32, epilogue_warps: UInt32, max_entries_per_warp: UInt32, //, WorkspaceManager: BlackwellWarpProfilingWorkspaceManager[load_warps, mma_warps, scheduler_warps, epilogue_warps, max_entries_per_warp], warp_role: UInt32 = UInt32(0)]

Calculates execution time for a warp/s, and writes a single entry to the workspace.

Parameters​

  • ​workspace_origin (MutOrigin): Memory origin of the profiling workspace buffer (inferred).
  • ​load_warps (UInt32): Number of warps specialized for load operations (inferred).
  • ​mma_warps (UInt32): Number of warps specialized for matrix multiply-accumulate operations (inferred).
  • ​scheduler_warps (UInt32): Number of warps specialized for scheduling operations (inferred).
  • ​epilogue_warps (UInt32): Number of warps specialized for epilogue operations (inferred).
  • ​max_entries_per_warp (UInt32): Maximum number of timeline entries recorded per warp role (inferred). Profiling is enabled when this value is greater than zero.
  • ​WorkspaceManager (BlackwellWarpProfilingWorkspaceManager[load_warps, mma_warps, scheduler_warps, epilogue_warps, max_entries_per_warp]): Workspace manager responsible for allocating the profiling buffer and writing timeline entries (defaults to BlackwellWarpProfilingWorkspaceManager parameterized by the warp counts).
  • ​warp_role (UInt32): Role of this warp, where 0 is load, 1 is scheduler, 2 is mma, and 3 is epilogue (defaults to 0).

Fields​

  • ​timeline (Tuple[UInt64, UInt64]):
  • ​workspace (Span[UInt64, workspace_origin]):
  • ​entry_idx (UInt32):

Implemented traits​

AnyType, Copyable, ImplicitlyCopyable, ImplicitlyDeletable, Movable

comptime members​

enable_profiling​

comptime enable_profiling = (max_entries_per_warp > UInt32(0))

Methods​

__init__​

def __init__(out self, workspace: Span[UInt64, workspace_origin], entry_idx: UInt32)

__enter__​

def __enter__(mut self)

__exit__​

def __exit__(mut self)

Was this page helpful?