Fix bug in GUI kernel filtering
Signed-off-by: colramos-amd <colramos@amd.com>
[ROCm/rocprofiler-compute commit: 0d516f05b4]
Este cometimento está contido em:
cometido por
Cole Ramos
ascendente
81c82c1c24
cometimento
9b04e88046
@@ -855,43 +855,29 @@ def apply_filters(workload, dir, is_gui, debug):
|
||||
# We pick up kernel names from kerne ids first.
|
||||
# Then filter valid entries with kernel names.
|
||||
if workload.filter_kernel_ids:
|
||||
# There are two ways Kernel filtering is done:
|
||||
# 1) CLI accepts an array of ints, representing indexes of kernels from the pmc_kernel_top.csv
|
||||
# 2) GUI will be passing an array of strs. The full names of kernels as selected from dropdown
|
||||
if not is_gui:
|
||||
if debug:
|
||||
print("CLI kernel filtering")
|
||||
# Verify valid kernel filter
|
||||
kernels_df = pd.read_csv(os.path.join(dir, "pmc_kernel_top.csv"))
|
||||
for kernel_id in workload.filter_kernel_ids:
|
||||
if kernel_id >= len(kernels_df["Kernel_Name"]):
|
||||
error(
|
||||
"{} is an invalid kernel id. Please enter an id between 0-{}".format(
|
||||
kernel_id, len(kernels_df["Kernel_Name"]) - 1
|
||||
)
|
||||
# Verify valid kernel filter
|
||||
kernels_df = pd.read_csv(os.path.join(dir, "pmc_kernel_top.csv"))
|
||||
for kernel_id in workload.filter_kernel_ids:
|
||||
if kernel_id >= len(kernels_df["Kernel_Name"]):
|
||||
error(
|
||||
"{} is an invalid kernel id. Please enter an id between 0-{}".format(
|
||||
kernel_id, len(kernels_df["Kernel_Name"]) - 1
|
||||
)
|
||||
kernels = []
|
||||
# NB: mark selected kernels with "*"
|
||||
# Todo: fix it for unaligned comparison
|
||||
kernel_top_df = workload.dfs[pmc_kernel_top_table_id]
|
||||
kernel_top_df["S"] = ""
|
||||
for kernel_id in workload.filter_kernel_ids:
|
||||
# print("------- ", kernel_id)
|
||||
kernels.append(kernel_top_df.loc[kernel_id, "Kernel_Name"])
|
||||
kernel_top_df.loc[kernel_id, "S"] = "*"
|
||||
|
||||
if kernels:
|
||||
# print("fitlered df:", len(df.index))
|
||||
ret_df = ret_df.loc[
|
||||
ret_df[schema.pmc_perf_file_prefix]["Kernel_Name"].isin(kernels)
|
||||
]
|
||||
else:
|
||||
if debug:
|
||||
print("GUI kernel filtering")
|
||||
ret_df = ret_df.loc[
|
||||
ret_df[schema.pmc_perf_file_prefix]["Kernel_Name"].isin(
|
||||
workload.filter_kernel_ids
|
||||
)
|
||||
kernels = []
|
||||
# NB: mark selected kernels with "*"
|
||||
# Todo: fix it for unaligned comparison
|
||||
kernel_top_df = workload.dfs[pmc_kernel_top_table_id]
|
||||
kernel_top_df["S"] = ""
|
||||
for kernel_id in workload.filter_kernel_ids:
|
||||
# print("------- ", kernel_id)
|
||||
kernels.append(kernel_top_df.loc[kernel_id, "Kernel_Name"])
|
||||
kernel_top_df.loc[kernel_id, "S"] = "*"
|
||||
|
||||
if kernels:
|
||||
# print("fitlered df:", len(df.index))
|
||||
ret_df = ret_df.loc[
|
||||
ret_df[schema.pmc_perf_file_prefix]["Kernel_Name"].isin(kernels)
|
||||
]
|
||||
|
||||
if workload.filter_dispatch_ids:
|
||||
|
||||
Criar uma nova questão referindo esta
Bloquear um utilizador