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
BlackwellWarpProfilingWorkspaceManager
struct BlackwellWarpProfilingWorkspaceManager[load_warps: UInt32, mma_warps: UInt32, scheduler_warps: UInt32, epilogue_warps: UInt32, max_entries_per_warp: UInt32]
Profiling workspace for warp-role timelines on each SM.
Each SM owns a fixed-size chunk of timestamp entries, capped per warp role.
Parametersβ
- βload_warps (
UInt32): Number of warps specialized for load operations. - βmma_warps (
UInt32): Number of warps specialized for matrix multiply-accumulate operations. - βscheduler_warps (
UInt32): Number of warps specialized for scheduling operations. - βepilogue_warps (
UInt32): Number of warps specialized for epilogue operations. - βmax_entries_per_warp (
UInt32): Maximum number of entries per warp (common across all warp roles).
Implemented traitsβ
AnyType,
Copyable,
ImplicitlyCopyable,
ImplicitlyDeletable,
Movable,
RegisterPassable,
TrivialRegisterPassable
comptime membersβ
entries_per_smβ
comptime entries_per_sm = max_entries_per_warp.__rmul__(UInt32(4))
headerβ
comptime header = "time_start,time_end,sm_id,block_idx_x,block_idx_y,role,entry_idx\n"
sm_countβ
comptime sm_count = B200.sm_count
total_data_pointsβ
comptime total_data_points = 7
total_warp_rolesβ
comptime total_warp_roles = 4
Methodsβ
get_workspaceβ
static def get_workspace(ctx: DeviceContext) -> Span[UInt64, MutAnyOrigin]
Returns:
write_to_workspaceβ
static def write_to_workspace[workspace_origin: MutOrigin, //, warp_role: UInt32](sm_idx: UInt32, entry_idx: UInt32, workspace: Span[UInt64, workspace_origin], timeline: Tuple[UInt64, UInt64])
dump_workspace_as_csvβ
static def dump_workspace_as_csv(ctx: DeviceContext, workspace: Span[UInt64, MutAnyOrigin], filename: StringSlice[ImmStaticOrigin])
Was this page helpful?
Thank you! We'll create more content like this.
Thank you for helping us improve!