MCPcopy Create free account
hub / github.com/pytorch/executorch / profile_table

Function profile_table

profiler/parse_profiler_results.py:326–356  ·  view source on GitHub ↗
(
    profile_data: Dict[str, List[ProfileEvent]], model_buffer=None
)

Source from the content-addressed store, hash-verified

324
325
326def profile_table(
327 profile_data: Dict[str, List[ProfileEvent]], model_buffer=None
328) -> List[PrettyTable]:
329
330 results = []
331 max_len = 0
332
333 for name, prof_entries_list in profile_data.items():
334 table = PrettyTable()
335 table.title = name
336 table.add_rows(
337 [
338 (
339 entry.name,
340 entry.chain_idx,
341 entry.instruction_idx,
342 None,
343 )
344 + tuple(val for val in entry.duration)
345 for entry in prof_entries_list
346 ]
347 )
348 max_len = max(max_len, len(prof_entries_list[0].duration))
349 table.field_names = [
350 "Name",
351 "Chain",
352 "Instr",
353 "Frame",
354 ] + ["Iteration " + str(i) for i in range(max_len)]
355 results.append(table)
356 return results
357
358
359def mem_profile_table(mem_allocations: Dict[str, List[MemEvent]]) -> List[PrettyTable]:

Callers 3

mainFunction · 0.90

Calls 2

itemsMethod · 0.80
appendMethod · 0.45

Tested by 1