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 toBlackwellWarpProfilingWorkspaceManagerparameterized 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?
Thank you! We'll create more content like this.
Thank you for helping us improve!