Enable Standalone GUI. Note L2 per channel graphics haven't been ported to new format
Signed-off-by: coleramos425 <colramos@amd.com>
Αυτή η υποβολή περιλαμβάνεται σε:
υποβλήθηκε από
Cole Ramos
γονέας
92f429f8b2
υποβολή
df4f15ff47
@@ -651,7 +651,7 @@ def eval_metric(dfs, dfs_type, sys_info, soc_spec, raw_pmc_df, debug):
|
||||
print("~" * 40)
|
||||
except TypeError:
|
||||
print(
|
||||
"skiping entry. Encounterd a missing counter"
|
||||
"skipping entry. Encounterd a missing counter"
|
||||
)
|
||||
print(expr, " has been assigned to None")
|
||||
print(np.nan)
|
||||
@@ -661,7 +661,7 @@ def eval_metric(dfs, dfs_type, sys_info, soc_spec, raw_pmc_df, debug):
|
||||
== "'NoneType' object has no attribute 'get'"
|
||||
):
|
||||
print(
|
||||
"skiping entry. Encounterd a missing csv"
|
||||
"skipping entry. Encounterd a missing csv"
|
||||
)
|
||||
print(np.nan)
|
||||
else:
|
||||
|
||||
@@ -45,14 +45,14 @@ class webui_analysis(OmniAnalyze_Base):
|
||||
self.dest_dir = os.path.abspath(args.path[0][0])
|
||||
self.arch = None
|
||||
|
||||
self.__hidden_sections = ["Memory Chart Analysis", "Kernels"]
|
||||
self.__hidden_sections = ["Memory Chart", "Kernels"]
|
||||
self.__hidden_columns = ["Tips", "coll_level"]
|
||||
# define different types of bar charts
|
||||
self.__barchart_elements = {
|
||||
"instr_mix": [1001, 1002],
|
||||
"multi_bar": [1604, 1704],
|
||||
"sol": [1101, 1201, 1301, 1401, 1601, 1701],
|
||||
"l2_cache_per_chan": [1802, 1803]
|
||||
#"l2_cache_per_chan": [1802, 1803]
|
||||
}
|
||||
# define any elements which will have full width
|
||||
self.__full_width_elements = {1801}
|
||||
@@ -131,14 +131,14 @@ class webui_analysis(OmniAnalyze_Base):
|
||||
# Only display basic metrics if no filters are applied
|
||||
if not (disp_filt or kernel_filter or gcd_filter):
|
||||
temp = {}
|
||||
keep = [1, 201, 101, 1901]
|
||||
keep = [1, 201, 101, 301]
|
||||
for key in base_data[base_run].dfs:
|
||||
if keep.count(key) != 0:
|
||||
temp[key] = base_data[base_run].dfs[key]
|
||||
|
||||
base_data[base_run].dfs = temp
|
||||
temp = {}
|
||||
keep = [0, 100, 200, 1900]
|
||||
keep = [0, 100, 200, 300]
|
||||
for key in panel_configs:
|
||||
if keep.count(key) != 0:
|
||||
temp[key] = panel_configs[key]
|
||||
@@ -159,7 +159,7 @@ class webui_analysis(OmniAnalyze_Base):
|
||||
|
||||
# Append memory chart and roofline
|
||||
div_children.append(
|
||||
get_memchart(panel_configs[1900]["data source"], base_data[base_run])
|
||||
get_memchart(panel_configs[300]["data source"], base_data[base_run])
|
||||
)
|
||||
has_roofline = os.path.isfile(os.path.join(self.dest_dir, "roofline.csv"))
|
||||
if has_roofline and hasattr(self.get_socs()[self.arch], "roofline_obj"):
|
||||
@@ -177,7 +177,7 @@ class webui_analysis(OmniAnalyze_Base):
|
||||
roof_obj = self.get_socs()[self.arch].roofline_obj
|
||||
div_children.append(
|
||||
roof_obj.empirical_roofline(
|
||||
ret_df=parser.apply_filters(workload=base_data[base_run], is_gui=True, debug=self.get_args().debug)
|
||||
ret_df=parser.apply_filters(workload=base_data[base_run], dir=self.dest_dir, is_gui=True, debug=self.get_args().debug)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -341,7 +341,7 @@ def determine_chart_type(
|
||||
if (
|
||||
len(d_figs) > 2
|
||||
and not table_config["id"]
|
||||
in barchart_elements["l2_cache_per_chan"]
|
||||
# in barchart_elements["l2_cache_per_chan"]
|
||||
):
|
||||
temp_obj = []
|
||||
for fig in d_figs:
|
||||
|
||||
+26
-26
@@ -167,32 +167,32 @@ def build_bar_chart(display_df, table_config, barchart_elements, norm_filt):
|
||||
.update_layout(title_x=0.5)
|
||||
)
|
||||
# L2 Cache per channel
|
||||
elif table_config["id"] in barchart_elements["l2_cache_per_chan"]:
|
||||
nested_bar = {}
|
||||
channels = []
|
||||
for colName, colData in display_df.items():
|
||||
if colName == "Channel":
|
||||
channels = list(colData.values)
|
||||
else:
|
||||
display_df[colName] = [
|
||||
x.astype(float) if x != "" and x != None else float(0)
|
||||
for x in display_df[colName]
|
||||
]
|
||||
nested_bar[colName] = list(display_df[colName])
|
||||
for group, metric in nested_bar.items():
|
||||
d_figs.append(
|
||||
px.bar(
|
||||
title=group[0 : group.rfind("(")],
|
||||
x=channels,
|
||||
y=metric,
|
||||
labels={
|
||||
"x": "Channel",
|
||||
"y": group[group.rfind("(") + 1 : len(group) - 1].replace(
|
||||
"per", norm_filt
|
||||
),
|
||||
},
|
||||
).update_yaxes(rangemode="nonnegative")
|
||||
)
|
||||
# elif table_config["id"] in barchart_elements["l2_cache_per_chan"]:
|
||||
# nested_bar = {}
|
||||
# channels = []
|
||||
# for colName, colData in display_df.items():
|
||||
# if colName == "Channel":
|
||||
# channels = list(colData.values)
|
||||
# else:
|
||||
# display_df[colName] = [
|
||||
# x.astype(float) if x != "" and x != None else float(0)
|
||||
# for x in display_df[colName]
|
||||
# ]
|
||||
# nested_bar[colName] = list(display_df[colName])
|
||||
# for group, metric in nested_bar.items():
|
||||
# d_figs.append(
|
||||
# px.bar(
|
||||
# title=group[0 : group.rfind("(")],
|
||||
# x=channels,
|
||||
# y=metric,
|
||||
# labels={
|
||||
# "x": "Channel",
|
||||
# "y": group[group.rfind("(") + 1 : len(group) - 1].replace(
|
||||
# "per", norm_filt
|
||||
# ),
|
||||
# },
|
||||
# ).update_yaxes(rangemode="nonnegative")
|
||||
# )
|
||||
|
||||
# Speed-of-light bar chart
|
||||
elif table_config["id"] in barchart_elements["sol"]:
|
||||
|
||||
@@ -42,296 +42,19 @@ def insert_chart_data(mem_data, base_data):
|
||||
display_columns = original_df.columns.values.tolist().copy()
|
||||
display_df = original_df[display_columns]
|
||||
|
||||
alias = display_df["Alias"].values
|
||||
alias = display_df["Metric"].values
|
||||
values = display_df["Value"].values
|
||||
|
||||
mem_values = {}
|
||||
memchart_values = {}
|
||||
for i in range(0, len(alias)):
|
||||
mem_values[alias[i]] = values[i]
|
||||
memchart_values[alias[i]] = values[i]
|
||||
|
||||
return G(
|
||||
className="data",
|
||||
children=[
|
||||
Text(
|
||||
x="386",
|
||||
y="46",
|
||||
id="salu",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["salu_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="96",
|
||||
id="smem",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["smem_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="146",
|
||||
id="valu",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["valu_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="196",
|
||||
id="mfma",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["mfma_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="245",
|
||||
id="vmem",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vmem_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="296",
|
||||
id="lds",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["lds_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="344",
|
||||
id="gws",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["gws_"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="396",
|
||||
id="br",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["br_"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="285",
|
||||
id="fabric_rd_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["fabric_rd_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="310",
|
||||
id="fabric_wr_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["fabric_wr_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="336",
|
||||
id="fabric_atom_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["fabric_atom_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="213",
|
||||
id="l2_rd",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_rd_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="238",
|
||||
id="l2_wr",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_wr_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="264",
|
||||
id="l2_atom",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_atom_"],
|
||||
),
|
||||
Text(
|
||||
x="839",
|
||||
y="117",
|
||||
id="lds_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["lds_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="372",
|
||||
id="sl1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_hit_"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="404",
|
||||
id="sl1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="837",
|
||||
y="491",
|
||||
id="il1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["il1_hit_"],
|
||||
),
|
||||
Text(
|
||||
x="837",
|
||||
y="522",
|
||||
id="il1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["il1_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="1578",
|
||||
y="240",
|
||||
id="hbm_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["hbm_rd_"],
|
||||
),
|
||||
Text(
|
||||
x="1577",
|
||||
y="269",
|
||||
id="hbm_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["hbm_wr_"],
|
||||
),
|
||||
Text(
|
||||
x="723",
|
||||
y="78",
|
||||
id="lds_req",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["lds_req_"],
|
||||
),
|
||||
Text(
|
||||
x="708",
|
||||
y="204",
|
||||
id="vl1_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_rd_"],
|
||||
),
|
||||
Text(
|
||||
x="708",
|
||||
y="233",
|
||||
id="vl1_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_wr_"],
|
||||
),
|
||||
Text(
|
||||
x="716",
|
||||
y="265",
|
||||
id="vl1_atom",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_atom_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="292",
|
||||
id="l2_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_hit_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="356",
|
||||
id="l2_rd_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_rd_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="382",
|
||||
id="l2_wr_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_wr_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="193",
|
||||
id="vl1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_hit_"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="224",
|
||||
id="vl1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_lat_"],
|
||||
),
|
||||
Text(
|
||||
x="839",
|
||||
y="85",
|
||||
id="lds_util",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["lds_util_"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="256",
|
||||
id="vl1_coales",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_coales_"],
|
||||
),
|
||||
Text(
|
||||
x="1015",
|
||||
y="500",
|
||||
id="il1_l2_req",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["il1_l2_req_"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="288",
|
||||
id="vl1_stall",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_stall_"],
|
||||
),
|
||||
Text(
|
||||
x="492",
|
||||
y="498",
|
||||
id="il1_fetch",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["il1_fetch_"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Instr Buff Block
|
||||
#TODO: double check wave_occupancy
|
||||
Text(
|
||||
x="52",
|
||||
y="313",
|
||||
@@ -339,7 +62,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
fill="#FFFF33",
|
||||
fontSize="20px",
|
||||
fontWeight="bold",
|
||||
children=mem_values["wave_occ_"],
|
||||
children=memchart_values["Wavefront Occupancy"],
|
||||
),
|
||||
Text(
|
||||
x="49",
|
||||
@@ -348,8 +71,76 @@ def insert_chart_data(mem_data, base_data):
|
||||
fill="#FFFF33",
|
||||
fontSize="20px",
|
||||
fontWeight="bold",
|
||||
children=mem_values["wave_life_"],
|
||||
children=memchart_values["Wave Life"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Instr Dispatch Block
|
||||
Text(
|
||||
x="386",
|
||||
y="46",
|
||||
id="salu",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["SALU"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="96",
|
||||
id="smem",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["SMEM"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="146",
|
||||
id="valu",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VALU"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="196",
|
||||
id="mfma",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["MFMA"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="245",
|
||||
id="vmem",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VMEM"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="296",
|
||||
id="lds",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["LDS"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="344",
|
||||
id="gws",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["GWS"],
|
||||
),
|
||||
Text(
|
||||
x="386",
|
||||
y="396",
|
||||
id="br",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["BR"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Exec Block
|
||||
Text(
|
||||
x="480",
|
||||
y="99",
|
||||
@@ -357,47 +148,15 @@ def insert_chart_data(mem_data, base_data):
|
||||
fill="#FFFF33",
|
||||
fontSize="20px",
|
||||
fontWeight="bold",
|
||||
children=mem_values["active_cu_"],
|
||||
children=memchart_values["Active CUs"],
|
||||
), # x=454
|
||||
Text(
|
||||
x="580",
|
||||
y="226",
|
||||
id="lds_alloc",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["lds_alloc_"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="255",
|
||||
id="scratch_alloc",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["scratch_alloc_"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="298",
|
||||
id="wavefronts",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["wavefronts_"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="328",
|
||||
id="workgroups",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["workgroups_"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="154",
|
||||
id="vgpr",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["vgpr_"],
|
||||
children=memchart_values["VGPR"],
|
||||
),
|
||||
Text(
|
||||
x="581",
|
||||
@@ -405,15 +164,123 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="sgpr",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=mem_values["sgpr_"],
|
||||
children=memchart_values["SGPR"],
|
||||
),
|
||||
Text(
|
||||
x="709",
|
||||
y="384",
|
||||
id="sl1_rd",
|
||||
x="580",
|
||||
y="226",
|
||||
id="lds_alloc",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["LDS Allocation"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="255",
|
||||
id="scratch_alloc",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Scratch Allocation"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="298",
|
||||
id="wavefronts",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Wavefronts"],
|
||||
),
|
||||
Text(
|
||||
x="580",
|
||||
y="328",
|
||||
id="workgroups",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Workgroups"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# LDS Block
|
||||
Text(
|
||||
x="723",
|
||||
y="78",
|
||||
id="lds_req",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_rd_"],
|
||||
children=memchart_values["LDS Req"],
|
||||
),
|
||||
Text(
|
||||
x="839",
|
||||
y="85",
|
||||
id="lds_util",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["LDS Util"],
|
||||
),
|
||||
Text(
|
||||
x="839",
|
||||
y="117",
|
||||
id="lds_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["LDS Latency"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Vector L1 Cache Block
|
||||
Text(
|
||||
x="708",
|
||||
y="204",
|
||||
id="vl1_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Rd"],
|
||||
),
|
||||
Text(
|
||||
x="708",
|
||||
y="233",
|
||||
id="vl1_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Wr"],
|
||||
),
|
||||
Text(
|
||||
x="716",
|
||||
y="265",
|
||||
id="vl1_atom",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Atomic"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="193",
|
||||
id="vl1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Hit"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="224",
|
||||
id="vl1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Lat"],
|
||||
),
|
||||
Text(
|
||||
x="840",
|
||||
y="256",
|
||||
id="vl1_coales",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Coalesce"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="288",
|
||||
id="vl1_stall",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1 Stall"],
|
||||
),
|
||||
Text(
|
||||
x="1000",
|
||||
@@ -421,7 +288,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="vl1_l2_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_l2_rd_"],
|
||||
children=memchart_values["VL1_L2 Rd"],
|
||||
),
|
||||
Text(
|
||||
x="1000",
|
||||
@@ -429,7 +296,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="vl1_l2_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_l2_wr_"],
|
||||
children=memchart_values["VL1_L2 Wr"],
|
||||
),
|
||||
Text(
|
||||
x="1008",
|
||||
@@ -437,7 +304,33 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="vl1_l2_atom",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["vl1_l2_atom_"],
|
||||
children=memchart_values["VL1_L2 Atomic"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Scalar L1D Cache Block
|
||||
Text(
|
||||
x="709",
|
||||
y="384",
|
||||
id="sl1_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1D Rd"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="372",
|
||||
id="sl1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1D Hit"],
|
||||
),
|
||||
Text(
|
||||
x="838",
|
||||
y="404",
|
||||
id="sl1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["VL1D Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1000",
|
||||
@@ -445,7 +338,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="sl1_l2_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_l2_rd_"],
|
||||
children=memchart_values["VL1D_L2 Rd"],
|
||||
),
|
||||
Text(
|
||||
x="1000",
|
||||
@@ -453,7 +346,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="sl1_l2_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_l2_wr_"],
|
||||
children=memchart_values["VL1D_L2 Wr"],
|
||||
),
|
||||
Text(
|
||||
x="1008",
|
||||
@@ -461,15 +354,101 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="sl1_l2_atom",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["sl1_l2_atom_"],
|
||||
children=memchart_values["VL1D_L2 Atomic"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Instr L1 Cache Block
|
||||
Text(
|
||||
x="492",
|
||||
y="498",
|
||||
id="il1_fetch",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["IL1 Fetch"],
|
||||
),
|
||||
Text(
|
||||
x="837",
|
||||
y="491",
|
||||
id="il1_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["IL1 Hit"],
|
||||
),
|
||||
Text(
|
||||
x="837",
|
||||
y="522",
|
||||
id="il1_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["IL1 Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1015",
|
||||
y="500",
|
||||
id="il1_l2_req",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["IL1_L2 Rd"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# L2 Cache Block(inside)
|
||||
Text(
|
||||
x="1145",
|
||||
y="213",
|
||||
id="l2_rd",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Rd"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="238",
|
||||
id="l2_wr",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Wr"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="264",
|
||||
id="l2_atom",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Atomic"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="292",
|
||||
id="l2_hit",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Hit"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="356",
|
||||
id="l2_rd_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Rd Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1145",
|
||||
y="382",
|
||||
id="l2_wr_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["L2 Wr Lat"],
|
||||
),
|
||||
# ----------------------------------------
|
||||
# Fabric Block
|
||||
Text(
|
||||
x="1317",
|
||||
y="243",
|
||||
id="l2_fabric_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_fabric_rd_"],
|
||||
children=memchart_values["Fabric_L2 Rd"],
|
||||
),
|
||||
Text(
|
||||
x="1317",
|
||||
@@ -477,7 +456,7 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="l2_fabric_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_fabric_wr_"],
|
||||
children=memchart_values["Fabric_L2 Wr"],
|
||||
),
|
||||
Text(
|
||||
x="1319",
|
||||
@@ -485,7 +464,47 @@ def insert_chart_data(mem_data, base_data):
|
||||
id="l2_fabric_atom",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=mem_values["l2_fabric_atom_"],
|
||||
children=memchart_values["Fabric_L2 Atomic"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="285",
|
||||
id="fabric_rd_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Fabric Rd Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="310",
|
||||
id="fabric_wr_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Fabric Wr Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1435",
|
||||
y="336",
|
||||
id="fabric_atom_lat",
|
||||
fill="rgb(0, 0, 0)",
|
||||
fontSize="12px",
|
||||
children=memchart_values["Fabric Atomic Lat"],
|
||||
),
|
||||
Text(
|
||||
x="1578",
|
||||
y="240",
|
||||
id="hbm_rd",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["HBM Rd"],
|
||||
),
|
||||
Text(
|
||||
x="1577",
|
||||
y="269",
|
||||
id="hbm_wr",
|
||||
fill="#FFFFFF",
|
||||
fontSize="12px",
|
||||
children=memchart_values["HBM Wr"],
|
||||
),
|
||||
],
|
||||
)
|
||||
|
||||
@@ -818,7 +818,7 @@ def eval_metric(dfs, dfs_type, sys_info, soc_spec, raw_pmc_df, debug):
|
||||
# print(tabulate(df, headers='keys', tablefmt='fancy_grid'))
|
||||
|
||||
|
||||
def apply_filters(workload, is_gui, debug):
|
||||
def apply_filters(workload, dir, is_gui, debug):
|
||||
"""
|
||||
Apply user's filters to the raw_pmc df.
|
||||
"""
|
||||
@@ -875,9 +875,9 @@ def apply_filters(workload, is_gui, debug):
|
||||
if debug:
|
||||
print("GUI kernel filtering")
|
||||
ret_df = ret_df.loc[
|
||||
ret_df[schema.pmc_perf_file_prefix]["Index"]
|
||||
.astype(str)
|
||||
.isin(workload.filter_dispatch_ids)
|
||||
ret_df[schema.pmc_perf_file_prefix]["KernelName"].isin(
|
||||
workload.filter_kernel_ids
|
||||
)
|
||||
]
|
||||
|
||||
if workload.filter_dispatch_ids:
|
||||
@@ -945,7 +945,7 @@ def load_table_data(workload, dir, is_gui, debug, verbose, skipKernelTop=False):
|
||||
workload.dfs_type,
|
||||
workload.sys_info.iloc[0],
|
||||
workload.soc_spec,
|
||||
apply_filters(workload, is_gui, debug),
|
||||
apply_filters(workload, dir, is_gui, debug),
|
||||
debug,
|
||||
)
|
||||
|
||||
|
||||
Αναφορά σε νέο ζήτημα
Block a user