Skip to content

Instantly share code, notes, and snippets.

@blais
Created August 28, 2025 04:27
Show Gist options
  • Select an option

  • Save blais/185450275a66d575fc2a47edcc368c20 to your computer and use it in GitHub Desktop.

Select an option

Save blais/185450275a66d575fc2a47edcc368c20 to your computer and use it in GitHub Desktop.
xprof data
#!/usr/bin/env python
import pprint
import json
# from xprof.pywrap import _pywrap_profiler_plugin as profiler_wrapper_plugin
from xprof import profile_plugin
from xprof.protobuf import roofline_model_pb2
tools = profile_plugin._get_tools(
["/tmp/jax-trace/plugins/profile/2025_08_27_23_22_13/lumia.xplane.pb"],
"/tmp/jax-trace/plugins/profile/2025_08_27_23_22_13",
)
print(tools)
# Output:
# {
# "op_profile",
# "hlo_stats",
# "memory_viewer",
# "trace_viewer@",
# "framework_op_stats",
# "overview_page",
# "roofline_model",
# "memory_profile",
# "kernel_stats",
# "graph_viewer",
# }
# Output: these "tools' are - I think - the contents of the ListBox on the left
# of the Profile tab in recent TensorBoard.
from xprof.convert.raw_to_tool_data import xspace_to_tool_data
data, success = xspace_to_tool_data(
["/tmp/jax-trace/plugins/profile/2025_08_27_23_22_13/lumia.xplane.pb"],
"roofline_model",
{},
)
pprint.pprint(json.loads(data))
# Output if conversion of the xplane protobuf + business logic to produce the
# JSON to render in the tab.
"""
[{'cols': [{'id': 'step', 'label': 'Step', 'type': 'string'},
{'id': 'rank', 'label': 'Rank', 'type': 'number'},
{'id': 'category', 'label': 'Category', 'type': 'string'},
{'id': 'operation', 'label': 'Operation', 'type': 'string'},
{'id': 'occurrences', 'label': '# Occurrences', 'type': 'number'},
{'id': 'total_time', 'label': 'Total Time (us)', 'type': 'number'},
{'id': 'avg_time', 'label': 'Avg. time (us)', 'type': 'number'},
{'id': 'total_self_time',
'label': 'Total self time (us)',
'type': 'number'},
{'id': 'avg_self_time',
'label': 'Avg. self time (us)',
'type': 'number'},
{'id': 'total_self_time_percent',
'label': 'Total self time (%)',
'type': 'number'},
{'id': 'cumulative_total_self_time_percent',
'label': 'Cumulative total self time (%)',
'type': 'number'},
{'id': 'measured_flop_rate',
'label': 'Normalized FLOP Rate (GFLOP/s)',
'type': 'number'},
{'id': 'model_flop_rate',
'label': 'Model FLOP Rate (GFLOP/s)',
'type': 'number'},
{'id': 'measured_memory_bw',
'label': 'Memory BW (GiB/s)',
'type': 'number'},
{'id': 'hbm_bw', 'label': 'HBM BW (GiB/s)', 'type': 'number'},
{'id': 'vmem_write_bw',
'label': 'SHM/L1 BW (GiB/s)',
'type': 'number'},
{'id': 'operational_intensity',
'label': 'Operational Intensity (FLOP/Byte)',
'type': 'number'},
{'id': 'hbm_operational_intensity',
'label': 'HBM Operational Intensity (FLOP/Byte)',
'type': 'number'},
{'id': 'vmem_write_operational_intensity',
'label': 'SHM/L1 Operational Intensity (FLOP/Byte)',
'type': 'number'},
{'id': 'bottleneck_operational_intensity',
'label': 'Bottleneck Operational Intensity (FLOP/Byte)',
'type': 'number'},
{'id': 'bound_by', 'label': 'Bound by', 'type': 'string'},
{'id': 'total_time_per_core',
'label': 'Total Time per core (us)',
'type': 'number'},
{'id': 'total_time_in_percentage',
'label': 'Total Time (%)',
'type': 'number'},
{'id': 'optimal_flop_rate',
'label': 'Optimal FLOP Rate (GFLOP/s)',
'type': 'number'},
{'id': 'roofline_efficiency',
'label': 'Roofline efficiency (%)',
'type': 'number'},
{'id': 'compute_efficiency',
'label': 'FLOP Rate / Peak (%)',
'type': 'number'},
{'id': 'max_mem_bw_utilization',
'label': 'Max memory BW utilization (among supported memories) (%)',
'type': 'number'},
{'id': 'include_infeed_outfeed',
'label': 'Include Infeed/Outfeed',
'type': 'boolean'},
{'id': 'hlo_module_id', 'label': 'Program ID', 'type': 'string'},
{'id': 'source_info', 'label': 'Source Info', 'type': 'string'}],
'p': {'device_type': 'Nvidia GPU (Ampere)',
'hbm_ridge_point': '141.509',
'peak_flop_rate': '50950.1',
'peak_hbm_bw': '335.321',
'peak_vmem_write_bw': '11862.8',
'vmem_write_ridge_point': '4'},
'rows': [{'c': [{'v': 'Total'},
{'v': 0.0},
{'v': 'Program'},
{'v': 'Program'},
{'v': 1.0},
{'v': 460088.832},
{'v': 460088.832},
{'v': 0.0},
{'v': 0.0},
{'v': 0.0},
{'v': 0.0},
{'v': 0.004212360451296501},
{'v': 0.004212360451296501},
{'v': 0.006412253881798044},
{'v': 0.006412253881798044},
{'v': 0.0},
{'v': 0.611807712705508},
{'v': 0.611807712705508},
{'v': 0.0},
{'v': 0.611807712705508},
{'v': 'HBM'},
{'v': 460088.832},
{'v': 1.0},
{'v': 220.28014334419277},
{'v': 1.9122742464873885e-05},
{'v': 8.267612455219954e-08},
{'v': 1.9122742464873885e-05},
{'v': True},
{'v': '0'},
{'v': ''}]},
{'c': [{'v': 'Total'},
{'v': 1.0},
{'v': 'call'},
{'v': 'call'},
{'v': 18000.0},
{'v': 24031.576},
{'v': 1.3350875555555557},
{'v': 24031.576},
{'v': 1.3350875555555557},
{'v': 0.05223246975053722},
{'v': 0.05223246975053722},
{'v': 289.40349147305193},
{'v': 289.40349147305193},
{'v': 76.92847791233955},
{'v': 76.08580833201577},
{'v': 0.0},
{'v': 3.503618063112078},
{'v': 3.5424215197300866},
{'v': 0.0},
{'v': 3.5424215197300866},
{'v': 'HBM'},
{'v': 24031.576},
{'v': 0.05223246975053722},
{'v': 1275.4417833357782},
{'v': 0.22690450889585004},
{'v': 0.00568013098202533},
{'v': 0.22690450889585004},
{'v': True},
{'v': '52'},
{'v': ''}]},
{'c': [{'v': 'Total'},
{'v': 2.0},
{'v': 'loop fusion'},
{'v': 'loop_add_fusion'},
{'v': 20.0},
{'v': 29.439},
{'v': 1.47195},
{'v': 29.439},
{'v': 1.47195},
{'v': 6.398546965817245e-05},
{'v': 0.05229645522019539},
{'v': 13.043921328849486},
{'v': 13.043921328849486},
{'v': 32.556903698776495},
{'v': 32.556903698776495},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 0.373134328358209},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 'HBM'},
{'v': 29.439},
{'v': 6.398546965817245e-05},
{'v': 134.34626865671643},
{'v': 0.09709180209671105},
{'v': 0.00025601343401207045},
{'v': 0.09709180209671105},
{'v': True},
{'v': '58'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:44:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:44</div>"}]},
{'c': [{'v': 'Total'},
{'v': 3.0},
{'v': 'loop fusion'},
{'v': 'loop_multiply_fusion'},
{'v': 20.0},
{'v': 28.707},
{'v': 1.4353500000000001},
{'v': 28.707},
{'v': 1.4353500000000001},
{'v': 6.239447255263958e-05},
{'v': 0.052358849692748025},
{'v': 13.376528372870728},
{'v': 13.376528372870728},
{'v': 17.03612743867628},
{'v': 17.03612743867628},
{'v': 0.0},
{'v': 0.7312614259597806},
{'v': 0.7312614259597806},
{'v': 0.0},
{'v': 0.7312614259597806},
{'v': 'HBM'},
{'v': 28.707},
{'v': 6.239447255263957e-05},
{'v': 263.28921389396714},
{'v': 0.050805455244580494},
{'v': 0.00026254152241200204},
{'v': 0.050805455244580494},
{'v': True},
{'v': '55'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:44:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:44</div>"}]},
{'c': [{'v': 'Total'},
{'v': 4.0},
{'v': 'input fusion'},
{'v': 'input_reduce_fusion'},
{'v': 20.0},
{'v': 25.088},
{'v': 1.2544},
{'v': 25.088},
{'v': 1.2544},
{'v': 5.452860025083157e-05},
{'v': 0.05241337829299886},
{'v': 30.373086734693878},
{'v': 30.373086734693878},
{'v': 19.493626848775513},
{'v': 19.493626848775513},
{'v': 0.0},
{'v': 1.4510968921389398},
{'v': 1.4510968921389398},
{'v': 0.0},
{'v': 1.4510968921389398},
{'v': 'HBM'},
{'v': 25.088},
{'v': 5.452860025083156e-05},
{'v': 522.464533820841},
{'v': 0.058134255568645266},
{'v': 0.0005961334816775765},
{'v': 0.058134255568645266},
{'v': True},
{'v': '64'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:48:13\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:48</div>"}]},
{'c': [{'v': 'Total'},
{'v': 5.0},
{'v': 'input fusion'},
{'v': 'input_reduce_fusion'},
{'v': 20.0},
{'v': 24.479},
{'v': 1.2239499999999999},
{'v': 24.479},
{'v': 1.2239499999999999},
{'v': 5.320494282286774e-05},
{'v': 0.05246658323582173},
{'v': 0.2426569712815066},
{'v': 0.2426569712815066},
{'v': 0.30740987797267316},
{'v': 0.30740987797267316},
{'v': 0.0},
{'v': 0.7351485148514851},
{'v': 0.7351485148514851},
{'v': 0.0},
{'v': 0.7351485148514851},
{'v': 'HBM'},
{'v': 24.479},
{'v': 5.320494282286774e-05},
{'v': 264.6887524752475},
{'v': 0.0009167634401246376},
{'v': 4.762635632227195e-06},
{'v': 0.0009167634401246376},
{'v': True},
{'v': '73'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:11\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]},
{'c': [{'v': 'Total'},
{'v': 6.0},
{'v': 'loop fusion'},
{'v': 'loop_maximum_fusion'},
{'v': 20.0},
{'v': 23.743},
{'v': 1.18715},
{'v': 23.743},
{'v': 1.18715},
{'v': 5.160525174408058e-05},
{'v': 0.05251818848756581},
{'v': 16.175714947563492},
{'v': 16.175714947563492},
{'v': 40.16968463177439},
{'v': 40.16968463177439},
{'v': 0.0},
{'v': 0.3750292945863604},
{'v': 0.3750292945863604},
{'v': 0.0},
{'v': 0.3750292945863604},
{'v': 'HBM'},
{'v': 23.743},
{'v': 5.160525174408059e-05},
{'v': 135.0285474572299},
{'v': 0.11979477860181476},
{'v': 0.0003174812410258054},
{'v': 0.11979477860181476},
{'v': True},
{'v': '61'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:45:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:45</div>"}]},
{'c': [{'v': 'Total'},
{'v': 7.0},
{'v': 'loop fusion'},
{'v': 'wrapped_multiply'},
{'v': 20.0},
{'v': 21.632},
{'v': 1.0816000000000001},
{'v': 21.632},
{'v': 1.0816000000000001},
{'v': 4.701700735913538e-05},
{'v': 0.052565205494924945},
{'v': 0.27736686390532544},
{'v': 0.27736686390532544},
{'v': 0.6888480581475432},
{'v': 0.6888480581475432},
{'v': 0.0},
{'v': 0.375},
{'v': 0.375},
{'v': 0.0},
{'v': 0.375},
{'v': 'HBM'},
{'v': 21.632},
{'v': 4.7017007359135376e-05},
{'v': 135.018},
{'v': 0.002054295456200843},
{'v': 5.443887732786888e-06},
{'v': 0.002054295456200843},
{'v': True},
{'v': '40'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:101:14\n"
"'>/home/blais/p/machine-learning/tpu/example.py:101</div>"}]},
{'c': [{'v': 'Total'},
{'v': 8.0},
{'v': 'loop fusion'},
{'v': 'loop_multiply_fusion'},
{'v': 20.0},
{'v': 21.599},
{'v': 1.07995},
{'v': 21.599},
{'v': 1.07995},
{'v': 4.6945282079787586e-05},
{'v': 0.052612150777004735},
{'v': 0.0027779063845548404},
{'v': 0.0027779063845548404},
{'v': 0.006899005136278371},
{'v': 0.006899005136278371},
{'v': 0.0},
{'v': 0.375},
{'v': 0.375},
{'v': 0.0},
{'v': 0.375},
{'v': 'HBM'},
{'v': 21.599},
{'v': 4.6945282079787586e-05},
{'v': 135.018},
{'v': 2.0574341084557913e-05},
{'v': 5.452205168556228e-08},
{'v': 2.0574341084557913e-05},
{'v': True},
{'v': '73'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:11\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]},
{'c': [{'v': 'Total'},
{'v': 9.0},
{'v': 'loop fusion'},
{'v': 'loop_add_fusion'},
{'v': 20.0},
{'v': 21.154},
{'v': 1.0577},
{'v': 21.154},
{'v': 1.0577},
{'v': 4.5978077555249155e-05},
{'v': 0.052658128854559984},
{'v': 0.2836343008414484},
{'v': 0.2836343008414484},
{'v': 0.7079354731879026},
{'v': 0.7079354731879026},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 0.373134328358209},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 'HBM'},
{'v': 21.154},
{'v': 4.5978077555249155e-05},
{'v': 134.34626865671643},
{'v': 0.002111218299379754},
{'v': 5.566898904965773e-06},
{'v': 0.002111218299379754},
{'v': True},
{'v': '67'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:48:13\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:48</div>"}]},
{'c': [{'v': 'Total'},
{'v': 10.0},
{'v': 'loop fusion'},
{'v': 'wrapped_subtract'},
{'v': 20.0},
{'v': 21.152},
{'v': 1.0576},
{'v': 21.152},
{'v': 1.0576},
{'v': 4.597373056862202e-05},
{'v': 0.05270410258512861},
{'v': 0.283661119515885},
{'v': 0.283661119515885},
{'v': 1.056720016583372},
{'v': 1.056720016583372},
{'v': 0.0},
{'v': 0.25},
{'v': 0.25},
{'v': 0.0},
{'v': 0.25},
{'v': 'HBM'},
{'v': 21.152},
{'v': 4.597373056862202e-05},
{'v': 90.01200000000001},
{'v': 0.0031513700341719436},
{'v': 5.567425275890978e-06},
{'v': 0.0031513700341719436},
{'v': True},
{'v': '70'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:21\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]},
{'c': [{'v': 'Total'},
{'v': 0.0},
{'v': 'Program'},
{'v': 'Program'},
{'v': 1.0},
{'v': 460088.832},
{'v': 460088.832},
{'v': 0.0},
{'v': 0.0},
{'v': 0.0},
{'v': 0.0},
{'v': 0.004212360451296501},
{'v': 0.004212360451296501},
{'v': 0.006412253881798044},
{'v': 0.006412253881798044},
{'v': 0.0},
{'v': 0.611807712705508},
{'v': 0.611807712705508},
{'v': 0.0},
{'v': 0.611807712705508},
{'v': 'HBM'},
{'v': 460088.832},
{'v': 1.0},
{'v': 220.28014334419277},
{'v': 1.9122742464873885e-05},
{'v': 8.267612455219954e-08},
{'v': 1.9122742464873885e-05},
{'v': False},
{'v': '0'},
{'v': ''}]},
{'c': [{'v': 'Total'},
{'v': 1.0},
{'v': 'call'},
{'v': 'call'},
{'v': 18000.0},
{'v': 24031.576},
{'v': 1.3350875555555557},
{'v': 24031.576},
{'v': 1.3350875555555557},
{'v': 0.05223246975053722},
{'v': 0.05223246975053722},
{'v': 289.40349147305193},
{'v': 289.40349147305193},
{'v': 76.92847791233955},
{'v': 76.08580833201577},
{'v': 0.0},
{'v': 3.503618063112078},
{'v': 3.5424215197300866},
{'v': 0.0},
{'v': 3.5424215197300866},
{'v': 'HBM'},
{'v': 24031.576},
{'v': 0.05223246975053722},
{'v': 1275.4417833357782},
{'v': 0.22690450889585004},
{'v': 0.00568013098202533},
{'v': 0.22690450889585004},
{'v': False},
{'v': '52'},
{'v': ''}]},
{'c': [{'v': 'Total'},
{'v': 2.0},
{'v': 'loop fusion'},
{'v': 'loop_add_fusion'},
{'v': 20.0},
{'v': 29.439},
{'v': 1.47195},
{'v': 29.439},
{'v': 1.47195},
{'v': 6.398546965817245e-05},
{'v': 0.05229645522019539},
{'v': 13.043921328849486},
{'v': 13.043921328849486},
{'v': 32.556903698776495},
{'v': 32.556903698776495},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 0.373134328358209},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 'HBM'},
{'v': 29.439},
{'v': 6.398546965817245e-05},
{'v': 134.34626865671643},
{'v': 0.09709180209671105},
{'v': 0.00025601343401207045},
{'v': 0.09709180209671105},
{'v': False},
{'v': '58'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:44:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:44</div>"}]},
{'c': [{'v': 'Total'},
{'v': 3.0},
{'v': 'loop fusion'},
{'v': 'loop_multiply_fusion'},
{'v': 20.0},
{'v': 28.707},
{'v': 1.4353500000000001},
{'v': 28.707},
{'v': 1.4353500000000001},
{'v': 6.239447255263958e-05},
{'v': 0.052358849692748025},
{'v': 13.376528372870728},
{'v': 13.376528372870728},
{'v': 17.03612743867628},
{'v': 17.03612743867628},
{'v': 0.0},
{'v': 0.7312614259597806},
{'v': 0.7312614259597806},
{'v': 0.0},
{'v': 0.7312614259597806},
{'v': 'HBM'},
{'v': 28.707},
{'v': 6.239447255263957e-05},
{'v': 263.28921389396714},
{'v': 0.050805455244580494},
{'v': 0.00026254152241200204},
{'v': 0.050805455244580494},
{'v': False},
{'v': '55'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:44:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:44</div>"}]},
{'c': [{'v': 'Total'},
{'v': 4.0},
{'v': 'input fusion'},
{'v': 'input_reduce_fusion'},
{'v': 20.0},
{'v': 25.088},
{'v': 1.2544},
{'v': 25.088},
{'v': 1.2544},
{'v': 5.452860025083157e-05},
{'v': 0.05241337829299886},
{'v': 30.373086734693878},
{'v': 30.373086734693878},
{'v': 19.493626848775513},
{'v': 19.493626848775513},
{'v': 0.0},
{'v': 1.4510968921389398},
{'v': 1.4510968921389398},
{'v': 0.0},
{'v': 1.4510968921389398},
{'v': 'HBM'},
{'v': 25.088},
{'v': 5.452860025083156e-05},
{'v': 522.464533820841},
{'v': 0.058134255568645266},
{'v': 0.0005961334816775765},
{'v': 0.058134255568645266},
{'v': False},
{'v': '64'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:48:13\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:48</div>"}]},
{'c': [{'v': 'Total'},
{'v': 5.0},
{'v': 'input fusion'},
{'v': 'input_reduce_fusion'},
{'v': 20.0},
{'v': 24.479},
{'v': 1.2239499999999999},
{'v': 24.479},
{'v': 1.2239499999999999},
{'v': 5.320494282286774e-05},
{'v': 0.05246658323582173},
{'v': 0.2426569712815066},
{'v': 0.2426569712815066},
{'v': 0.30740987797267316},
{'v': 0.30740987797267316},
{'v': 0.0},
{'v': 0.7351485148514851},
{'v': 0.7351485148514851},
{'v': 0.0},
{'v': 0.7351485148514851},
{'v': 'HBM'},
{'v': 24.479},
{'v': 5.320494282286774e-05},
{'v': 264.6887524752475},
{'v': 0.0009167634401246376},
{'v': 4.762635632227195e-06},
{'v': 0.0009167634401246376},
{'v': False},
{'v': '73'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:11\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]},
{'c': [{'v': 'Total'},
{'v': 6.0},
{'v': 'loop fusion'},
{'v': 'loop_maximum_fusion'},
{'v': 20.0},
{'v': 23.743},
{'v': 1.18715},
{'v': 23.743},
{'v': 1.18715},
{'v': 5.160525174408058e-05},
{'v': 0.05251818848756581},
{'v': 16.175714947563492},
{'v': 16.175714947563492},
{'v': 40.16968463177439},
{'v': 40.16968463177439},
{'v': 0.0},
{'v': 0.3750292945863604},
{'v': 0.3750292945863604},
{'v': 0.0},
{'v': 0.3750292945863604},
{'v': 'HBM'},
{'v': 23.743},
{'v': 5.160525174408059e-05},
{'v': 135.0285474572299},
{'v': 0.11979477860181476},
{'v': 0.0003174812410258054},
{'v': 0.11979477860181476},
{'v': False},
{'v': '61'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:45:8\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:45</div>"}]},
{'c': [{'v': 'Total'},
{'v': 7.0},
{'v': 'loop fusion'},
{'v': 'wrapped_multiply'},
{'v': 20.0},
{'v': 21.632},
{'v': 1.0816000000000001},
{'v': 21.632},
{'v': 1.0816000000000001},
{'v': 4.701700735913538e-05},
{'v': 0.052565205494924945},
{'v': 0.27736686390532544},
{'v': 0.27736686390532544},
{'v': 0.6888480581475432},
{'v': 0.6888480581475432},
{'v': 0.0},
{'v': 0.375},
{'v': 0.375},
{'v': 0.0},
{'v': 0.375},
{'v': 'HBM'},
{'v': 21.632},
{'v': 4.7017007359135376e-05},
{'v': 135.018},
{'v': 0.002054295456200843},
{'v': 5.443887732786888e-06},
{'v': 0.002054295456200843},
{'v': False},
{'v': '40'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:101:14\n"
"'>/home/blais/p/machine-learning/tpu/example.py:101</div>"}]},
{'c': [{'v': 'Total'},
{'v': 8.0},
{'v': 'loop fusion'},
{'v': 'loop_multiply_fusion'},
{'v': 20.0},
{'v': 21.599},
{'v': 1.07995},
{'v': 21.599},
{'v': 1.07995},
{'v': 4.6945282079787586e-05},
{'v': 0.052612150777004735},
{'v': 0.0027779063845548404},
{'v': 0.0027779063845548404},
{'v': 0.006899005136278371},
{'v': 0.006899005136278371},
{'v': 0.0},
{'v': 0.375},
{'v': 0.375},
{'v': 0.0},
{'v': 0.375},
{'v': 'HBM'},
{'v': 21.599},
{'v': 4.6945282079787586e-05},
{'v': 135.018},
{'v': 2.0574341084557913e-05},
{'v': 5.452205168556228e-08},
{'v': 2.0574341084557913e-05},
{'v': False},
{'v': '73'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:11\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]},
{'c': [{'v': 'Total'},
{'v': 9.0},
{'v': 'loop fusion'},
{'v': 'loop_add_fusion'},
{'v': 20.0},
{'v': 21.154},
{'v': 1.0577},
{'v': 21.154},
{'v': 1.0577},
{'v': 4.5978077555249155e-05},
{'v': 0.052658128854559984},
{'v': 0.2836343008414484},
{'v': 0.2836343008414484},
{'v': 0.7079354731879026},
{'v': 0.7079354731879026},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 0.373134328358209},
{'v': 0.0},
{'v': 0.373134328358209},
{'v': 'HBM'},
{'v': 21.154},
{'v': 4.5978077555249155e-05},
{'v': 134.34626865671643},
{'v': 0.002111218299379754},
{'v': 5.566898904965773e-06},
{'v': 0.002111218299379754},
{'v': False},
{'v': '67'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:48:13\n"
'/home/blais/p/machine-learning/tpu/example.py:54:18\n'
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:48</div>"}]},
{'c': [{'v': 'Total'},
{'v': 10.0},
{'v': 'loop fusion'},
{'v': 'wrapped_subtract'},
{'v': 20.0},
{'v': 21.152},
{'v': 1.0576},
{'v': 21.152},
{'v': 1.0576},
{'v': 4.597373056862202e-05},
{'v': 0.05270410258512861},
{'v': 0.283661119515885},
{'v': 0.283661119515885},
{'v': 1.056720016583372},
{'v': 1.056720016583372},
{'v': 0.0},
{'v': 0.25},
{'v': 0.25},
{'v': 0.0},
{'v': 0.25},
{'v': 'HBM'},
{'v': 21.152},
{'v': 4.597373056862202e-05},
{'v': 90.01200000000001},
{'v': 0.0031513700341719436},
{'v': 5.567425275890978e-06},
{'v': 0.0031513700341719436},
{'v': False},
{'v': '70'},
{'v': "<div class='source-info-cell' "
"title='/home/blais/p/machine-learning/tpu/example.py:55:21\n"
'/home/blais/p/machine-learning/tpu/example.py:77:12\n'
'/home/blais/p/machine-learning/tpu/example.py:125:25\n'
"'>/home/blais/p/machine-learning/tpu/example.py:55</div>"}]}]},
{'cols': [{'id': 'severity', 'label': 'Severity', 'type': 'string'},
{'id': 'message', 'label': 'Message', 'type': 'string'}],
'rows': [{'c': [{'v': 'WARNING'},
{'v': 'No step marker observed and hence the step time is '
'unknown. This may happen if (1) training steps are '
'not instrumented (e.g., if you are not using Keras) '
'or (2) the profiling duration is shorter than the '
'step time. For (1), you need to add step '
'instrumentation; for (2), you may try to profile '
'longer.'}]}]}]
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment